リリース情報


49.2 CLI/ODBC/JDBC 構成 PATCH1 および PATCH2 の設定

CLI/ODBC/JDBC ドライバーは、クライアント構成アシスタントまたは ODBC ドライバー・マネージャー (システムにインストールされている場合) から、あるいは手動で db2cli.ini ファイルを編集して構成できます。詳細については、「インストールおよび構成補足」または「CLI ガイドおよび解説書」を参照してください。

DB2 CLI/ODBC ドライバーのデフォルトの振る舞いは、db2cli.ini ファイルまたは SQLDriverConnect() か SQLBrowseConnect() CLI API を経由して PATCH1 および PATCH2 キーワードの両方に値を指定して、変更することができます。

PATCH1 キーワードは、ユーザーが設定したいすべてのキーワードを追加して指定されます。例えば、パッチ 1、2、および 8 が指定されると、PATCH1 には値 11 があります。次が各キーワードの値の記述と、ドライバーへの効果です。

1
これにより、ドライバーは "count(exp)" を検索し、"count(distinct exp)" と置き換えます。DB2 のバージョンによっては、"count(exp)" 構文をサポートするものがあり、この構文は ODBC アプリケーションで生成されるため、この処置が必要になります。Microsoft のアプリケーションでは、サーバーが "count(exp)" 構文をサポートしないときに、この構文を必要とします。

2
ODBC アプリケーションの中には、LITERAL_PREFIX または LITERAL_SUFFIX 列のどちらかについて SQL_NULL_DATA が SQLGetTypeInfo() 関数に戻されたとき、トラップされるものがあります。これは、ドライバーに、空ストリングを戻すよう強制します。Impromptu 2.0 で必要です。

4
これはタイム・スタンプの時刻と小数部がゼロの場合、ドライバーに入力タイム・スタンプ・データを日付データとして扱うよう強制します。Microsoft Access で必要です。

8
これはタイム・スタンプの日付部分が 1899-12-30 の場合、ドライバーに入力タイム・スタンプ・データを時刻データとして扱うよう強制します。Microsoft Access で必要です。

16
未使用。

32
ドライバーに、SQL_LONGVARCHAR、SQL_LONGVARBINARY、および SQL_LONGVARGRAPHIC 列に関する情報を戻さないように強制します。アプリケーションには、長いフィールドがサポートされないように見えます。Lotus 123 で必要です。

64
これは、ドライバーにグラフィックス終了出力ストリングの NULL 化を強制します。2 バイト環境の Microsoft Access で必要です。

128
これは、ドライバーが、照会 "SELECT Config, nValue FROM MSysConf" をサーバーへ送信するよう強制します。現在、ドライバーは、S0002 の関連 SQLSTATE 値を伴うエラー (表が見つからない) を戻しています。ユーザーがデータベースにこの構成表を作成し、アプリケーションからアクセスできるようにする場合に必要です。

256
ドライバーに SQLStatistics() 呼び出しの最初に、1 次キー列を戻すよう強制します。現在、ドライバーは、索引名でソートされた索引を返します。これは、標準 ODBC の振る舞いです。

512
ドライバーに、SQL_API_SQLTABLEPRIVILEGES と SQL_API_SQLCOLUMNPRIVILEGES について SQLGetFunctions() に FALSE を戻すよう強制します。

1024
実行された UPDATE または DELETE ステートメントが行に影響しない場合に、ドライバーに、SQLExecute() または SQLExecDirect() で、SQL_NO_DATA_FOUND ではなく SQL_SUCCESS を戻すよう強制します。Visual Basic アプリケーションで必要です。

2048
未使用。

4096
自動コミット・モードの時に、カーソルのクローズ後に COMMIT を出さないようにドライバーに強制します。

8192
ドライバーに、ストアード・プロシージャーの呼び出し後に、追加の結果セットを戻すよう強制します。この結果セットは、ストアード・プロシージャーの出力値から構成される、1 行の結果セットです。Powerbuild アプリケーションでアクセスできます。

32768
ドライバーに、Microsoft Query アプリケーションが DB2 MVS 同義語を処理するよう、強制します。

65536
ドライバーに、実際には GRAPHIC リテラルである文字リテラルの前に "G" を手動で挿入するよう強制します。このパッチは 2 バイト環境で作業する場合に必ず指定する必要があります。

131072
タイム・スタンプ列が固有索引の一部である時、そのタイム・スタンプ列を CHAR(26) 列として記述するよう、ドライバーに強制します。Microsoft アプリケーションで必要です。

262144
ドライバーに、SYSCAT.PROCEDURES および SYSCAT.PROCPARMS 表の代わりに疑似カタログ表 db2cli.procedures を使用するよう、強制します。

524288
ドライバーに、DB2/400 V3.x システムへのシステム表照会を行う際に、 TABLE_SCHEMA の代わりに SYSTEM_TABLE_SCHEMA を使用するよう、強制します。この結果、パフォーマンスが向上されます。

1048576
ドライバーに、SQLPutData() においてゼロ長ストリングを SQL_NULL_DATA として扱うよう、強制します。

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 専用パラメーターを
      すべて、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 - SQL コード 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 - 予約済み


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]