通常の ODBC サポートに加えて、PHP の Unified ODBC 関数では、各々の API を実装するために ODBC API のセマンティックスを借用する複数の データベースにアクセスすることが可能です。ほとんど同じ複数のデータベース ドライバを維持管理する代わりに、これらのドライバは単一の ODBC 関数セットに 統合されています。
以下のデータベースが Unified ODBC でサポートされています。 Adabas D, IBM DB2, iODBC, Solid, Sybase SQL Anywhere
注意: iODBC を除き、上のデータベースと接続する際には ODBC は使用しません。 内部ではネイティブに通信しており、単に ODBC 関数と同じ名前や構文を用いているだけです。 しかし、PHP を iODBC サポートつきでビルドすると、 任意の ODBC 準拠のドライバを PHP アプリケーションから使用できるようになります。 iODBC についてのより詳細な情報は www.iodbc.org にあります。 またもうひとつの方法である unixODBC は www.unixodbc.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 の設定により動作が変化します。
表 1. Unified ODBC 設定オプション
名前 | デフォルト | 変更の可否 | 変更履歴 |
---|---|---|---|
odbc.default_db * | NULL | PHP_INI_ALL | |
odbc.default_user * | NULL | PHP_INI_ALL | |
odbc.default_pw * | NULL | PHP_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 |
注意: * マークがついているエントリは未実装です。
以下に設定ディレクティブに関する 簡単な説明を示します。
odbc.default_db
stringodbc_connect() または odbc_pconnect()でODBCデータソースが 指定されない場合に使用される ODBC データソース。
odbc.default_user
stringodbc_connect() または odbc_pconnect() で名前が指定されない場合 に使用される名前。
odbc.default_pw
stringodbc_connect() または odbc_pconnect() でパスワードが指定されない場合 に使用されるパスワード。
odbc.allow_persistent
boolean持続的 ODBC 接続を許可するかどうか。
odbc.check_persistent
boolean再利用する前に接続が有効であることを確認します。
odbc.max_persistent
integerプロセス毎の持続的 ODBC 接続の最大数。
odbc.max_links
integerプロセス毎の持続的接続を含む ODBC 接続の最大数。
odbc.defaultlrl
integerLONG フィールドの処理。変数に返されるバイト数を指定します。
integerを使用する際、 その値はバイト単位で測られます。 この FAQ に記載された 短縮表記を使用することも可能です。
odbc.defaultbinmode
integerバイナリデータの処理モード。
この拡張モジュールでは、ODBC 接続 ID および ODBC 結果 ID の二種類のリソースを定義しています。
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。