-
ibm_db2.binmode
int
-
このオプションは、バイナリデータを PHP アプリケーションで
使用する際のモードを制御します。
-
1 (DB2_BINARY)
-
2 (DB2_CONVERT)
-
3 (DB2_PASSTHRU)
-
ibm_db2.i5_all_pconnect
int
-
このオプションは、IBM i 上での接続を強制的にすべて持続的接続にします。
基本的に、すべての db2_connect
関数のコールは透過的に db2_pconnect
のコールになります。
デフォルトでは、このオプションの値は 0 です。
このオプションは、持続的接続が高速な場合のために便宜上提供されています。
新しいアプリケーションでは、このオプションを使うべきではありません。
-
ibm_db2.i5_allow_commit
int
-
このオプションは、トランザクションの分離レベルを制御します。
デフォルトでは、このオプションの値は 0 です。
よって、コミットの制御は使いません。
このオプションは、配列のキー i5_commit
を接続オプションの配列に設定し、
db2_connect や
db2_pconnect に渡すことで上書きできます。
-
0 - コミット制御を使いません。
-
1 - read uncommitted。ダーティリードの可能性があります。
-
2 - read committed。ダーティリードは発生しません。
-
3 - repeatable read。ダーティリードや非再現リードは発生しません。
-
4 - serializeable。ダーティリードや非再現リードやファントムリードは発生しません。
-
ibm_db2.i5_blank_userid
int
-
IBM i 上で空のユーザーIDを許可すべきかどうかを制御します。
デフォルトでは、このオプションの値は 0 です。
ibm_db2.i5_ignore_userid と異なり、
このオプションはすべてのユーザーIDを強制的に空にしたり、
ジョブの振る舞いを変えたりはしません。
ただ単に、Db2 に現在のユーザーとしてする際、
空のユーザーIDを渡すことを許可するだけです。
-
0 - ユーザーIDを空で渡すことを許可しません
-
1 - ユーザーIDを空で渡すことを許可します。
-
ibm_db2.i5_char_trim
int
-
このオプションは、IBM i における文字列の右端をトリム処理するかを制御します。
多くのテーブルは固定のカラムサイズを持ち、スペースで埋められているため、
このオプションが便宜のため提供されています。
デフォルトでは、このオプションの値は 0 です。
-
ibm_db2.i5_dbcs_alloc
int
-
このオプションは、IBM i における内部バッファの割当て戦略に影響します。
デフォルトでは、このオプションの値は 0 です。
このオプションを設定した場合、
エンコーディング変換時にデータベースが文字列サイズを過小評価した場合に備えて、
さらに大きなサイズのバッファが割り当てられます。
このオプションはバッファ用に6倍のメモリを使用します(最大サイズのUTF-8シーケンスに対応するため)。
切り詰められたデータが返される場合に必要となる可能性があります。
-
0 - 最低限のバッファサイズが割り当てられます
-
1 - さらに大きなバッファサイズを割り当てます
-
ibm_db2.i5_guard_profile
int
-
IBM i 上のデータベースに持続的接続する際、
ユーザーのデータベースのプロファイルを切り替えるかどうかをチェックします。
切り替える場合、データベースから切断します。
デフォルトでは、このオプションの値は 0 です。
-
ibm_db2.i5_log_verbose
int
-
このオプションは、
IBM i 上で 警告やエラーなどのSQL診断メッセージを、
常に PHP のエラーログに送信するかどうかを設定します。
通常、このオプションはデフォルトで 0 に設定されているため、
失敗時には簡潔なメッセージ(例:「ステートメントの実行に失敗しました」)のみが
PHP のエラーログに送信されます。
ただし、関数が失敗したかどうかを確認する目的で
db2_stmt_errormsg を手動で呼び出すことができますし、
またそうすべきである点に注意してください。
-
ibm_db2.i5_ignore_userid
int
-
IBM i 上で実行される際、かつデータベースに接続する際に、
このオプションはユーザーID を無視します。
また、別々のジョブではなく、PHPジョブの内部でSQL/CLI の機能を実行します。
デフォルトでは、このオプションの値は 0 です。
このオプションを有効にすると、
別々のデータベースサーバーのジョブを使わず、
常に現在のユーザープロファイルを使います。
そして、db2_connect と db2_pconnect
に渡されるユーザー名とパスワードを無視します。
-
ibm_db2.i5_job_sort
int
-
IBM i におけるジョブソートを制御します。
デフォルトでは、このオプションの値は 0 です。
これは IBM i SQL/CLI の SQL_ATTR_CONN_SORT_SEQUENCE
属性に対応します。
-
0 - *HEX ソートオプションを使い、
バイト単位でソートを行います。
-
1 - PHP のジョブ向けにジョブソートのシーケンスを使います。
-
2 - データベースのジョブ向けにジョブソートのシーケンスを使います。
-
ibm_db2.i5_max_pconnect
int
-
このオプションは、IBM i 上で実行する際、
何回持続的接続が再利用されるかに影響します。
デフォルトでは、この値は 0 です。
つまり、持続的接続は常に再利用されるということです。
このオプションは、
長時間実行されるデータベースのジョブで起こる問題
(つまり、プロシージャでメモリリークが起きた場合など)
を回避されるのに役立ちますが、明らかに長期的に役立つものではないでしょう。
-
ibm_db2.i5_override_ccsid
int
-
IBM i 上の EBCDIC から文字変換に使用する PASE CCSID。
デフォルトでこの値は 0 であり、
PASE ロケール設定から取得されるデフォルトの PASE ジョブ CCSID を選択します。
たとえば、これを 1208 に設定すると UTF-8 を使用します。
この値は、PASE ジョブの CCSID が期待される CCSID と異なる場合、
かつロケールを変更できない場合にのみ変更してください。
IBM i 上の CCSID についてさらに学ぶ場合は、
» IBM documentation を調べてください。
IBM i 上の PASE がどのように CCSID にマップされているかについては、
» IBM documentation を調べてください。
-
ibm_db2.i5_sys_naming
int
-
このオプションは、IBM i システムに接続する際の命名モードを制御します。
デフォルトでは、このオプションの値は 0 です。
命名モードは、名前の解決方法と名前に許可される構文に影響します。
0 に設定すると、名前の修飾にピリオドを使用し、
名前解決にはデフォルトのライブラリまたはユーザーIDを使用します。
1 に設定すると、名前の修飾にスラッシュを使用し、
名前解決にはジョブライブラリリストを使用します。
IBM i 上の命名モードについて学ぶには、
» IBM documentation を調べてください。
-
ibm_db2.i5_servermode-subsystem
string
-
このオプションは、
IBM i 上でどのサブシステムデータベースサーバージョブが実行されるかを変更します。
デフォルトでは、このオプションは null であるため、
ジョブは QSQSRVR ジョブのデフォルトサブシステムで実行されます。
-
ibm_db2.instance_name
string
-
Linux や UNIX オペレーティングシステムにおいて、
このオプションはカタログされたデータベースへの接続で使う、
インスタンス名を定義します。
デフォルトでは、このオプションの値は null です。
このオプションを設定すると、
環境変数 DB2INSTANCE の値を上書きします。
Windows では、このオプションの値は無視されます。