通常の 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/ で参照可能です。
サポートされるデータベースにアクセスするためには、 所定のライブラリがインストールされている必要があります。
Adabas D サポートを有効にします。DIR はAdabas をインストールしたディレクトリで、 /usr/local がデフォルトです。
SAP DB サポートを有効にします。DIR は SAP DB のベースインストールディレクトリで、 /usr/local がデフォルトです。
Solidサポートを有効にします。DIR は Solid のベースインストールディレクトリで、 /usr/local/solid がデフォルトです。
IBM DB2 サポートを有効にします。DIR は IBM DB2 のベースインストールディレクトリで、 /home/db2inst1/sqllib がデフォルトです。
Empress サポートを有効にします。DIR は Empress のベースインストールディレクトリで、 $EMPRESSPATH がデフォルトです。PHP 4 以降、 このオプションは Empress バージョン 8.60 以降のみをサポートします。
Empress ローカルアクセスサポートを有効にします。DIR は Empress の ベースインストールディレクトリで、$EMPRESSPATH がデフォルトです。PHP 4 以降、 このオプションは Empress バージョン 8.60 以降のみをサポートします。
Birdstep サポートを有効にします。DIR は Birdstep のベースインストールディレクトリで、 /usr/local/birdstep がデフォルトです。
ユーザ定義の 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".
iODBC サポートを有効にします。DIR は iODBC のベースインストールディレクトリで、 /usr/local がデフォルトです。
Easysoft OOB サポートを有効にします。DIR は OOB のベースインストールディレクトリで、 /usr/local/easysoft/oob/client がデフォルトです。
unixODBC サポートを有効にします。DIR は unixODBC のベースインストールディレクトリで、 /usr/local がデフォルトです。
OpenLink ODBC サポートを有効にします。DIR は OpenLink のベースインストールディレクトリで、 /usr/local がデフォルトです。 これは、iODBC と同じものです。
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_connect() または odbc_pconnect()でODBCデータソースが 指定されない場合に使用される ODBC データソース。
odbc_connect() または odbc_pconnect() で名前が指定されない場合 に使用される名前。
odbc_connect() または odbc_pconnect() でパスワードが指定されない場合 に使用されるパスワード。
持続的 ODBC 接続を許可するかどうか。
再利用する前に接続が有効であることを確認します。
プロセス毎の持続的 ODBC 接続の最大数。
プロセス毎の持続的接続を含む ODBC 接続の最大数。
LONG フィールドの処理。変数に返されるバイト数を指定します。
integerを使用する際、 その値はバイト単位で測られます。 この FAQ に記載された 短縮表記を使用することも可能です。
バイナリデータの処理モード。
リソース型は定義されていません。
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。