ODBCとは? わかりやすく解説

オー‐ディー‐ビー‐シー【ODBC】


ODBC

プログラミングのほかの用語一覧
API:  JDBC  MAPI  名前付きパイプ  ODBC  OLE DB  O3D  SAPI

ODBC および DB2 関数 (PDO_ODBC)

導入

PDO_ODBC は PHP Data Objects (PDO) インターフェイスを実装したドライバで、 PHP から ODBC ドライバあるいは IBM DB2 Call Level Interface (DB2 CLI) ライブラリを使用した データベースへのアクセスが可能となります。 PDO_ODBC は、現在 3 種類のデータベースドライバをサポートしています。
ibm-db2
DB2 クライアントを使用した、 IBM DB2 Universal Database、Cloudscape および Apache Derby サーバへのアクセスをサポートします。
unixODBC
unixODBC ドライバマネージャおよびデータベースごとの ODBC ドライバを使用した、データベースサーバへのアクセスをサポートします。
generic
PDO_ODBC が明示的にサポートしていない ODBC ドライバマネージャのためのコンパイルオプションを提供します。

Windows では、PDO_ODBC はデフォルトで PHP コアに組み込まれています。 これは Windows ODBC ドライバマネージャに対してリンクされており、 システムの DSN に登録されているあらゆるデータベースに対して PHP から接続することができます。Microsoft SQL Server データベースに接続する際には、このドライバの使用を推奨します。

インストール手順

手順 1. UNIX システムでの PDO_ODBC
  • PHP 5.1 では、PDO_ODBC は PHP ソースの中に含まれています。 PDO_ODBC 拡張モジュールを静的モジュールあるいは共有モジュールとして コンパイルするには次のような configure コマンドを実行します。
    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    
    PDO_ODBC を ibm-db2 形式でビルドするには、PDO_ODBC をコンパイルするのと同じマシンに DB2 アプリケーション開発用ヘッダが インストールされていなければなりません。DB2 アプリケーション開発ヘッダは DB2 サーバのインストールオプションに 含まれており、また IBM DB2 Universal Database の » サポートサイト からフリーでダウンロードできる DB2 Application Development Client にも含まれています。
    configure コマンドに DB2 ライブラリおよび ヘッダの場所を指定しなかった場合は、PDO_ODBC はデフォルトとして /home/db2inst1/sqllib を使用します。
    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    
    configure コマンドに unixODBC ライブラリおよび ヘッダの場所を指定しなかった場合は、PDO_ODBC はデフォルトとして /usr/local を使用します。
    generic
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
    

実行時設定

php.ini の設定により動作が変化します。
表 221. PDO_ODBC 設定オプション
名前デフォルト変更の可否変更履歴
pdo_odbc.connection_pooling"strict"PHP_INI_ALLPHP 5.1.0 以降で使用可能です。
pdo_odbc.db2instance_nameNULLPHP_INI_SYSTEM 

PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
pdo_odbc.connection_pooling string
ODBC 接続のプール方法を指定します。"strict"、"relaxed" あるいは "off" ("" と同じ) のいずれかです。このパラメータは、 プールされている既存の接続との比較をどの程度厳密に行うのかを 接続マネージャに指定します。 strict は推奨されているデフォルト設定で、 接続パラメータが完全に一致する場合にのみ既存の接続を使用します。 relaxed は、接続パラメータが似ている場合に 既存の接続を使用します。これはキャッシュの再利用率を高めますが、 (例えば) 仮想ホスト間での接続情報がおかしくなってしまう恐れがあります。
この設定は php.ini ファイルでのみ変更可能で、 その内容はプロセス全体に影響します。同じ ODBC ライブラリを使用している すべてのモジュール、たとえば Unified ODBC 拡張モジュール などが影響を受けます。

警告
relaxed を共有サーバで使用してはいけません。 これはセキュリティの問題があるためです。

ティップ

どうしても変更する必要がない限り、この設定はデフォルトの strict のままにしておきましょう。
pdo_odbc.db2instance_name string
db2 方式で PDO_ODBC をコンパイルした場合、 Linux および UNIX 上で DB2 インスタンスを指定するための環境変数 DB2INSTANCE の値を設定します。これによって PDO_ODBC が DB2 ライブラリの場所を見つけられるようになり、 DB2 データベースへのカタログ接続が可能になります。
この設定は php.ini ファイルでのみ変更可能で、 その内容はプロセス全体に影響します。同じ ODBC ライブラリを使用している すべてのモジュール、たとえば Unified ODBC 拡張モジュール などが影響を受けます。
この設定は、Windows 上では何の意味も持ちません。

目次

PDO_ODBC DSN — ODBC あるいは DB2 データベースに接続する

Unified ODBC 関数

導入

通常の ODBC サポートに加えて、PHP の Unified ODBC 関数では、各々の API を実装するために ODBC API のセマンティックスを借用する複数の データベースにアクセスすることが可能です。ほとんど同じ複数のデータベース ドライバを維持管理する代わりに、これらのドライバは単一の ODBC 関数セットに 統合されています。
以下のデータベースが Unified ODBC でサポートされています。 » Adabas D, » IBM DB2, » iODBC, » Solid, » Sybase SQL Anywhere
注意: 上記のデータベースと接続する際に ODBC は使用されません。関数は ODBC 関数として同じ名前と構文を共有していますが、これらのデータベース の専用 API を使用します。この例外は、iODBC です。PHP を iODBC サポート を付けて構築した場合、全ての ODBC 互換のドライバを PHP アプリケーション ドライバが使用可能となります。iODBC は、» OpenLink Software により管理されています。 iODBC に関する詳細および HOWTO を » http://www.iodbc.org/ で参照可能です。

要件

サポートされるデータベースにアクセスするためには、 所定のライブラリがインストールされている必要があります。

インストール手順

--with-adabas[=DIR]
Adabas D サポートを有効にします。DIR はAdabas をインストールしたディレクトリで、 /usr/local がデフォルトです。
--with-sapdb[=DIR]
SAP DB サポートを有効にします。DIR は SAP DB のベースインストールディレクトリで、 /usr/local がデフォルトです。
--with-solid[=DIR]
Solidサポートを有効にします。DIR は Solid のベースインストールディレクトリで、 /usr/local/solid がデフォルトです。
--with-ibm-db2[=DIR]
IBM DB2 サポートを有効にします。DIR は IBM DB2 のベースインストールディレクトリで、 /home/db2inst1/sqllib がデフォルトです。
--with-empress[=DIR]
Empress サポートを有効にします。DIR は Empress のベースインストールディレクトリで、 $EMPRESSPATH がデフォルトです。PHP 4 以降、 このオプションは Empress バージョン 8.60 以降のみをサポートします。
--with-empress-bcs[=DIR]
Empress ローカルアクセスサポートを有効にします。DIR は Empress の ベースインストールディレクトリで、$EMPRESSPATH がデフォルトです。PHP 4 以降、 このオプションは Empress バージョン 8.60 以降のみをサポートします。
--with-birdstep[=DIR]
Birdstep サポートを有効にします。DIR は Birdstep のベースインストールディレクトリで、 /usr/local/birdstep がデフォルトです。
--with-custom-odbc[=DIR]
ユーザ定義の ODBC サポートを有効にします。DIR は ODBC のベースインストールディレクトリで、 /usr/local がデフォルトです。 CUSTOM_ODBC_LIBS が定義され、odbc.h がインクルードパスに あることを確認してください。 例えば、QNX上 の Sybase SQL Anywhere 5.5.00 では、configure スクリプトを実行する 前に以下を定義する必要があります。 CPPFLAGS="-DODBC_QNX -DSQLANY_BUG" LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc".
--with-iodbc[=DIR]
iODBC サポートを有効にします。DIR は iODBC のベースインストールディレクトリで、 /usr/local がデフォルトです。
--with-esoob[=DIR]
Easysoft OOB サポートを有効にします。DIR は OOB のベースインストールディレクトリで、 /usr/local/easysoft/oob/client がデフォルトです。
--with-unixODBC[=DIR]
unixODBC サポートを有効にします。DIR は unixODBC のベースインストールディレクトリで、 /usr/local がデフォルトです。
--with-openlink[=DIR]
OpenLink ODBC サポートを有効にします。DIR は OpenLink のベースインストールディレクトリで、 /usr/local がデフォルトです。 これは、iODBC と同じものです。
--with-dbmaker[=DIR]
DBMaker サポートを有効にします。DIR は DBMaker のベースインストールディレクトリで、 デフォルトは最新版の DBMaker がインストールされている場所 (例えば /home/dbmaker/3.6)です。

PHP 3 で unified ODBC サポートを無効にするには、 --disable-unified-odbc を configure 実行時に 指定します。このオプションは、iODBC, Adabas, Solid, Velocis custom ODBC インターフェイスを 有効にしている場合のみ適用可能です。
Windows 版の PHP には この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。

実行時設定

php.ini の設定により動作が変化します。
表 219. Unified ODBC 設定オプション
名前デフォルト変更の可否変更履歴
odbc.default_db *NULLPHP_INI_ALL 
odbc.default_user *NULLPHP_INI_ALL 
odbc.default_pw *NULLPHP_INI_ALL 
odbc.allow_persistent"1"PHP_INI_SYSTEM 
odbc.check_persistent"1"PHP_INI_SYSTEM 
odbc.max_persistent"-1"PHP_INI_SYSTEM 
odbc.max_links"-1"PHP_INI_SYSTEM 
odbc.defaultlrl"4096"PHP_INI_ALL 
odbc.defaultbinmode"1"PHP_INI_ALL 

注意: * マークがついているエントリは未実装です。
PHP_INI_* 定数の詳細および定義については 付録 G. php.ini ディレクティブ を参照してください。
以下に設定ディレクティブに関する 簡単な説明を示します。
odbc.default_db string
odbc_connect() または odbc_pconnect()でODBCデータソースが 指定されない場合に使用される ODBC データソース。
odbc.default_user string
odbc_connect() または odbc_pconnect() で名前が指定されない場合 に使用される名前。
odbc.default_pw string
odbc_connect() または odbc_pconnect() でパスワードが指定されない場合 に使用されるパスワード。
odbc.allow_persistent boolean
持続的 ODBC 接続を許可するかどうか。
odbc.check_persistent boolean
再利用する前に接続が有効であることを確認します。
odbc.max_persistent integer
プロセス毎の持続的 ODBC 接続の最大数。
odbc.max_links integer
プロセス毎の持続的接続を含む ODBC 接続の最大数。
odbc.defaultlrl integer
LONG フィールドの処理。変数に返されるバイト数を指定します。
integerを使用する際、 その値はバイト単位で測られます。 この FAQ に記載された 短縮表記を使用することも可能です。
odbc.defaultbinmode integer
バイナリデータの処理モード。

リソース型

リソース型は定義されていません。

定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
ODBC_TYPE (integer)
ODBC_BINMODE_PASSTHRU (integer)
ODBC_BINMODE_RETURN (integer)
ODBC_BINMODE_CONVERT (integer)
SQL_ODBC_CURSORS (integer)
SQL_CUR_USE_DRIVER (integer)
SQL_CUR_USE_IF_NEEDED (integer)
SQL_CUR_USE_ODBC (integer)
SQL_CONCURRENCY (integer)
SQL_CONCUR_READ_ONLY (integer)
SQL_CONCUR_LOCK (integer)
SQL_CONCUR_ROWVER (integer)
SQL_CONCUR_VALUES (integer)
SQL_CURSOR_TYPE (integer)
SQL_CURSOR_FORWARD_ONLY (integer)
SQL_CURSOR_KEYSET_DRIVEN (integer)
SQL_CURSOR_DYNAMIC (integer)
SQL_CURSOR_STATIC (integer)
SQL_KEYSET_SIZE (integer)
SQL_CHAR (integer)
SQL_VARCHAR (integer)
SQL_LONGVARCHAR (integer)
SQL_DECIMAL (integer)
SQL_NUMERIC (integer)
SQL_BIT (integer)
SQL_TINYINT (integer)
SQL_SMALLINT (integer)
SQL_INTEGER (integer)
SQL_BIGINT (integer)
SQL_REAL (integer)
SQL_FLOAT (integer)
SQL_DOUBLE (integer)
SQL_BINARY (integer)
SQL_VARBINARY (integer)
SQL_LONGVARBINARY (integer)
SQL_DATE (integer)
SQL_TIME (integer)
SQL_TIMESTAMP (integer)
SQL_TYPE_DATE (integer)
SQL_TYPE_TIME (integer)
SQL_TYPE_TIMESTAMP (integer)
SQL_BEST_ROWID (integer)
SQL_ROWVER (integer)
SQL_SCOPE_CURROW (integer)
SQL_SCOPE_TRANSACTION (integer)
SQL_SCOPE_SESSION (integer)
SQL_NO_NULLS (integer)
SQL_NULLABLE (integer)
SQL_INDEX_UNIQUE (integer)
SQL_INDEX_ALL (integer)
SQL_ENSURE (integer)
SQL_QUICK (integer)

目次

odbc_autocommit — 自動コミットの動作をオンまたはオフにする
odbc_binmode — バイナリカラムデータを処理する
odbc_close_all — 全ての ODBC 接続を閉じる
odbc_close — ODBC 接続を閉じる
odbc_columnprivileges — カラムおよび付随する権限のリストを取得する際に使用する結果 ID を返す
odbc_columns — 指定したテーブルにあるカラム名のリストを取得する
odbc_commit — ODBC トランザクションをコミットする
odbc_connect — データソースに接続する
odbc_cursor — カーソル名を得る
odbc_data_source — 現在の接続についての情報を返す
odbc_doodbc_exec() の同義語
odbc_error — 直近のエラーコードを得る
odbc_errormsg — 直近のエラーメッセージを得る
odbc_exec — SQL文を準備し、実行する
odbc_execute — プリペアドステートメントを実行する
odbc_fetch_array — 連想配列として結果の行を取得する
odbc_fetch_into — 一行ぶんの結果を配列に取り込む
odbc_fetch_object — オブジェクトとして結果の行を取得する
odbc_fetch_row — 行を取り込む
odbc_field_len — フィールドの長さ (精度) を得る
odbc_field_name — カラム名を得る
odbc_field_num — カラム番号を返す
odbc_field_precisionodbc_field_len() の同義語
odbc_field_scale — フィールドの精度を得る
odbc_field_type — フィールドのデータ型を返す
odbc_foreignkeys — 指定したテーブルの外部キーのリストまたは指定したテーブルの主キーを 参照する他のテーブルの外部キーのリストを返す
odbc_free_result — 結果を保持するリソースを開放する
odbc_gettypeinfo — データソースによりサポートされるデータ型に関する情報を有する結果 ID を返す
odbc_longreadlen — LONG カラムを処理する
odbc_next_result — 複数の結果が利用可能などうか確認する
odbc_num_fields — 結果のカラム数を返す
odbc_num_rows — 結果における行数を返す
odbc_pconnect — 持続的なデータベース接続を開く
odbc_prepare — 実行用に文を準備する
odbc_primarykeys — テーブルの主キーを有するカラムの名前を取得する際に使用可能な結果 ID を返す
odbc_procedurecolumns — プロシージャへのパラメータに関する情報を取得する
odbc_procedures — 指定したデータソースに保存されているプロシージャのリストを取得する
odbc_result_all — HTML テーブルとして結果を出力する
odbc_result — 結果データを得る
odbc_rollback — トランザクションをロールバックする
odbc_setoption — ODBC の設定を変更する
odbc_specialcolumns — テーブルのレコードを特定する最適なカラムの組合せ、 またはレコードの値がトランザクションにより更新される際に自動的に更新されるカラムを返す
odbc_statistics — テーブルに関する統計情報を取得する
odbc_tableprivileges — 各テーブルのリストおよび関連する権限のリストを取得する
odbc_tables — 指定したデータソースに保存されたテーブルの名前のリストを取得する

Open Database Connectivity

(ODBC から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/24 06:50 UTC 版)

Open Database Connectivity (ODBC) は、関係データベース管理システム (RDBMS) にアクセスするための共通インタフェース (API)である。




注釈

  1. ^ SQL Serverでさえ、JDBCドライバを出している

出典

  1. ^ ODBC Versions”. Linux/UNIX ODBC. Easysoft. 2015年12月31日閲覧。
  2. ^ Antal, Tiberiu Alexandru. “Access to an Oracle database using JDBC (PDF)”. Cluj-Napoca: Technical University of Cluj-Napoca. p. 2. 2015年12月31日閲覧。 “ODBC 1.0 was released in September 1992”
  3. ^ Microsoft Corporation. Microsoft ODBC 3.0 Programmer's Reference and SDK Guide, Volume 1. Microsoft Press. February 1997. (ISBN 978-1572315167)
  4. ^ What's New in ODBC 3.8”. Microsoft. 2015年12月31日閲覧。 “Windows 7 includes an updated version of ODBC, ODBC 3.8.”
  5. ^ http://msdn.microsoft.com/ja-jp/library/cc280510.aspx
  6. ^ http://blogs.technet.com/b/dataplatforminsider/archive/2011/08/29/microsoft-aligning-with-odbc.aspx
  7. ^ http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/bridge.html


「Open Database Connectivity」の続きの解説一覧

ODBC

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/29 06:34 UTC 版)

カーソル (データベース)」の記事における「ODBC」の解説

C言語プログラムかSQL使ってデータベースアクセスするためのライブラリひとつとしてODBCがある。ODBCはMicrosoft Windows広まった後、業界標準のSQL/CLIやJDBCベースとなったカーソル操作係るSQLステートメントには、以下のように個別のODBC関数対応している。 ODBCにおけるカーソル操作ODBC関数対応するSQLステートメントSQLPrepare DECLARE CURSOR SQLExecute OPEN SQLFetch FETCH SQLFreeStmt CLOSE ODBCでは、アプリケーションプログラムカーソル直接指定することは、ほとんどない上記関数はいずれも「ステートメントハンドル」(Statement Handle)を引数としており、このハンドル指し示すデータ構造中にカーソル含まれているという扱いになる。すなわち、ステートメントハンドルがイテレータ役割果たしている。

※この「ODBC」の解説は、「カーソル (データベース)」の解説の一部です。
「ODBC」を含む「カーソル (データベース)」の記事については、「カーソル (データベース)」の概要を参照ください。


ODBC

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/07 23:56 UTC 版)

SQLite」の記事における「ODBC」の解説

SQLiteのODBCドライバサードパーティーから提供されている。SQLite 2とSQLite 3のバージョンがあり、SQLite 2向けには、さらにUTF-8対応版がある。

※この「ODBC」の解説は、「SQLite」の解説の一部です。
「ODBC」を含む「SQLite」の記事については、「SQLite」の概要を参照ください。

ウィキペディア小見出し辞書の「ODBC」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ODBC」の関連用語

ODBCのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ODBCのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリODBCの記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのOpen Database Connectivity (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのカーソル (データベース) (改訂履歴)、SQLite (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS