これらの関数により、DB2 Call Level Interface (DB2 CLI) を使用した IBM DB2 Universal Database、IBM Cloudscape および Apache Derby データベースへのアクセスが可能となります。
IBM DB2 Universal Database for Linux・UNIX・Windows、 IBM Cloudscape、Apache Derby に接続するには、 PHP を稼動させるコンピュータ上に IBM DB2 Universal Database client がインストールされていなければなりません。 この拡張モジュールは、DB2 バージョン 8.2 を対象にして開発およびテストが行われています。
IBM DB2 Universal Database for z/OS・iSeries に接続するには、IBM DB2 Connect あるいはそれと同等の DRDA ゲートウェイソフトウェアも必要となります。
これらの関数を使用する前には、PHP 実行ファイルあるいは SAPI を実行するユーザで DB2 インスタンスを指定する必要があります。 php.ini で ibm_db2.instance_name を使用して DB2 インスタンス名を指定するか、 PHP 実行ファイルの起動前に DB2 インスタンスプロファイルを 読み込むことができます。
例えば、db2inst1 という名前の DB2 インスタンスを /home/db2inst1/ に作成した場合には php.ini に以下の行を追加します。
ibm_db2.instance_name=db2inst1
bash$ source /home/db2inst1/sqllib/db2profile
ibm_db2 拡張モジュールをビルドするには、 DB2 アプリケーション開発用のヘッダファイルおよびライブラリが システムにインストールされていなければなりません。 これらのファイルはデフォルトではインストールされないので、 DB2 のインストーラをもう一度起動して このオプションを追加する必要があります。 IBM DB2 Universal Database の » サポートサイト にてフリーで公開されている DB2 Application Development Client に、これらのヘッダファイルが含まれています。
既に DB2 がインストールされている Linux や Unix 上に DB2 アプリケーション開発用のヘッダおよびライブラリを追加した場合は、 DB2 インスタンス内のヘッダファイルやライブラリに対する シンボリックリンクを更新するため、 コマンド db2iupdt -e を実行しなければなりません。
ibm_db2 は » PECL 拡張モジュールなので、 PECL 拡張モジュールのインストール の手順にしたがって PHP にインストールすることができます。 まず、DB2 ヘッダファイルおよびライブラリの場所を指定するために 次のように configure コマンドを実行します。
bash$ ./configure --with-IBM_DB2=/path/to/DB2
注意: IIS ユーザ向けの注意 ibm_db2 ドライバを Microsoft Internet Information Server (IIS) で使用する場合は、以下ようにする必要があります。
- DB2 を、拡張オペレーティングセキュリティ (extended operating system security) つきでインストールします。
- PHP のバイナリへのパス (デフォルトは C:\php\) を、システムの環境変数 PATH に追加します。
- システムの環境変数をもうひとつ作成し、PHP.INI のある場所を指定します (例: PHPRC = C:\php\)。
- IUSR_COMPUTERNAME を DB2USERS グループに追加します。
php.ini の設定により動作が変化します。
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
ibm_db2.binmode | "1" | PHP_INI_ALL | |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | ibm_db2 1.4.9 以降で利用可能。 |
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | ibm_db2 1.5.0 以降で利用可能。 |
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | ibm_db2 1.0.2 以降で利用可能。 |
以下に設定ディレクティブに関する 簡単な説明を示します。
このオプションは、バイナリデータを PHP アプリケーションで 使用する際のモードを制御します。
1 (DB2_BINARY)
2 (DB2_CONVERT)
3 (DB2_PASSTHRU)
このオプションは、i5 スキーマコレクションで使用するコミットモードを PHP アプリケーションで使用する際のモードを制御します。
0 はコミットしません (オーバーライドについては i5_commit を参照ください)。
1 はコミットを許可します (オーバーライドについては i5_commit を参照ください)。
このオプションは、ラージ DBCS カラムバッファ用の内部 ibm_db2 アロケーションスキームを制御します。
0 は拡張アロケーションを使用しません (オーバーライドについては i5_dbcs_alloc を参照ください)。
1 は拡張アロケーションを使用します (オーバーライドについては i5_dbcs_alloc を参照ください)。
Linux および UNIX では、カタログデータベースへの接続に使用する インスタンス名をこのオプションで指定します。 このオプションは、環境変数 DB2INSTANCE の設定を上書きします。
Windows では、このオプションは無視されます。
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
ibm_db2 拡張モジュールは、接続リソース・ステートメントリソース および結果セットリソースを返します。