通常の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のみをサポートします。
Include Empress Local Access support. DIR is the Empress base install directory, defaults to $EMPRESSPATH. From PHP 4, this option only supports Empress Version 8.60 and above.
Include Birdstep support. DIR is the Birdstep base install directory, defaults to /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フィールドの処理。変数に返されるバイト数を指定します。
バイナリデータの処理モード。
この拡張モジュールはリソース型を全く定義しません。
これらの定数は、この拡張モジュールで定義されており、 この拡張モジュールがPHP内部にコンパイルされているか実行時に動的にロー ドされるかのどちらかの場合のみ使用可能です。