CLI/ODBC/JDBC ドライバーは、クライアント構成アシスタントまたは ODBC ドライバー・マネージャー (システムにインストールされている場合) から、あるいは手動で db2cli.ini ファイルを編集して構成できます。詳細については、インストールおよび構成補足 または CLI ガイドおよび解説書 を参照してください。
DB2 CLI/ODBC ドライバーのデフォルトの振る舞いは、db2cli.ini ファイルまたは SQLDriverConnect() か SQLBrowseConnect() CLI API を経由して PATCH1 および PATCH2 キーワードの両方に値を指定して、変更することができます。
PATCH1 キーワードは、ユーザーが設定したいすべてのキーワードを追加して指定されます。たとえば、パッチ 1、2、および 8 が指定されると、PATCH1 には値 11 があります。次が各キーワードの値の記述と、ドライバーへの効果です。
PATCH2 キーワードは PATCH1 キーワードとは異なります。この場合、複数のパッチがコンマ区切り記号を使用して指定されます。たとえば、パッチ 1、4、および 5 が指定されると、PATCH2 には値 "1,4,5" があります。次が各キーワードの値の記述と、ドライバーへの効果です。
1 - ドライバーに、CALL ステートメントでのストアード・プロシージャーの 名前を大文字に強制的に変換させます。 2 - 未使用。 3 - ドライバーに、スキーマ呼び出しのすべての引き数を大文字にするよう強制します。 4 - ドライバーに、スキーマ呼び出し (SQLColumns()、SQLProcedureColumns() など) に対してバージョン 5 のような結果セットの代わりに、バージョン 2.1.2 のような結果セットを戻すよう、強制します。 5 - ドライバーに、入力 VARCHAR 列の処理を最適化しないよう強制します。 入力 VARCHAR 列では、データへのポインターと長さへのポインターが メモリー内で連続しています。 6 - ドライバーに、スクロール可能カーソルがサポートされないというメッセージを 戻すよう、強制します。DB2 クライアントがバージョン 5 で、サーバーが DB2 UDB バージョン 5 の場合に、Visual Basic プログラムで必要です。 7 - ドライバーに、すべての GRAPHIC 列データ・タイプを CHAR 列データ・タイプ にマップするよう、強制します。2 バイト環境で必要です。 8 - ドライバーに、スキーマ呼び出しのカタログ検索引き数を無視するよう強制します。 9 - カーソルの Early Close でコミットしません 10 - 未使用 11 - カタログ名がサポートされていることを報告します (VB ストアード・プロシージャー) 12 - スキーマ呼び出し引き数から二重引用符を除去します (Visual Interdev) 13 - db2cli.ini から出力接続ストリングへ、キーワードを追加しません 14 - SQLProcedures() と SQLProcedureColumns() でスキーマ名を無視します 15 - 文字出力で小数点にピリオドを常に使用します 16 - オープンごとに describe 情報を強制的に戻します 17 - describe で列名を返しません 18 - パラメーター・マーカーでリテラルを置き換えます 19 - 現在、DB2 MVS V4.1 は、括弧が外部結合文節の ON 文節で許可されている ODBC 構文をサポートしていません。この PATCH2 をオンにした場合、 外部結合文節が ODBC エスケープ・シーケンスにあると、 IBM DB2 ODBC ドライバーが括弧をストリップします。 この PATCH2 は DB2 MVS 4.1 に対してのみ使用してください。 20 - 現在、MVS 上の DB2 は、両方のオペランド (expression ? BETWEEN ?) として パラメーター・マーカーを使用した BETWEEN 述部をサポートしていません。 このパッチをオンにすると、IBM ODBC ドライバーが (expression >= ? と expression <= ?) に述部を再書き込みします。 21 - ストアード・プロシージャー用のすべての OUTPUT only パラメーターを SQL_NULL_DATA に設定します。 22 - この PATCH2 によって、IBM ODBC ドライバーは外部結合がサポートされて いないと報告します。これは外部結合ステートメントの使用時に、 SELECT DISTINCT col1 または ORDER BY col1 (col1 は 254 文字を超える) を 生成するアプリケーションに使用され、DB2 UDB は この方式では、254 バイトを超える長さの列をサポートしないためです。 23 - cbColDef=0 でバインドしたパラメーターに入力を最適化しません 24 - 時刻値を文字としてマッピングするアクセス予備手段 25 - 10 進数列のアクセス予備手段 - CHAR 表記の後続ゼロの除去 26 - sqlcode 464 をアプリケーションに戻しません - 結果セットが戻されます 27 - アプリケーションで有効値を指定している場合でも、SQLTables で強制的に TABLETYPE キーワード値を使用します 28 - 実際の列を重複列として記述します 29 - 10 進数列の ADO 予備手段 - 値 x の先行ゼロの除去 ここで、1 > x > -1 (特定の MDAC バージョンでのみ必要) 30 - ストアード・プロシージャーのキャッシュ最適化を使用不可にします 31 - SQLStatistics 呼び出しの別名の統計を報告します 32 - sqlcode -727 理由コード 4 の処理を変更します 33 - CHAR に変換時にタイム・スタンプの ISO バージョンを戻します (ODBC バージョンとは逆) 34 - CHAR FOR BIT DATA 列を CHAR として報告します 35 - SQL_DESC_BASE_TABLE_NAME が要求された場合に無効な TABLENAME を 報告します - ADO 読み取り専用最適化 36 - 予約済み 37 - 予約済み