これらの関数により、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 拡張モジュールなので、 第7章 の手順にしたがって PHP にインストールすることができます。 まず、DB2 ヘッダファイルおよびライブラリの場所を指定するために 次のように configure コマンドを実行します。
bash$ ./configure --with-IBM_DB2=/path/to/DB2 |
php.ini の設定により動作が変化します。
表 1. ibm_db2 設定オプション
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
ibm_db2.binmode | "1" | PHP_INI_ALL | |
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM |
以下に設定ディレクティブに関する 簡単な説明を示します。
以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。
バイナリデータをそのままの形式で返します。デフォルトのモードです。
バイナリデータを十六進表現にエンコードし、ASCII 文字列として返します。
バイナリデータを NULL 値に変換します。
ステートメントのリソースとして、スクロール可能なカーソルを指定します。 このモードでは結果セット内の行へのランダムアクセスが可能となりますが、 現在は IBM DB2 Universal Database でしかサポートされていません。
ステートメントのリソースとして、前進のみ可能なカーソルを指定します。 これはデフォルトのカーソル型であり、 すべてのデータベースサーバでサポートされています。
PHP 変数を、ストアドプロシージャの IN パラメータとしてバインドします。
PHP 変数を、ストアドプロシージャの OUT パラメータとしてバインドします。
PHP 変数を、ストアドプロシージャの INOUT パラメータとしてバインドします。
カラムを直接ファイルにバインドし、そのデータを読み込みます。
自動コミットを有効にします。
自動コミットを無効にします。
変数を、データ型 DOUBLE、FLOAT あるいは REAL にバインドします。
変数を、データ型 SMALLINT、INTEGER あるいは BIGINT にバインドします。
変数を、データ型 CHAR あるいは VARCHAR にバインドします。
カラム名の大文字小文字を変換せずに返します。
カラム名を小文字に変換して返します。
カラム名を大文字に変換して返します。
ibm_db2 拡張モジュールは、接続リソース・ステートメントリソース および結果セットリソースを返します。