リリース情報


45.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 列の
     いずれかのために、SQLGetTypeInfo() 関数で SQL_NULL_DATA が戻されたときに
     トラップされるものがあります。これは、ドライバーに、空ストリングを
     戻すよう強制します。Impromptu 2.0 で必要です。
 
 4 - これはタイム・スタンプの時刻と小数部がゼロの場合、ドライバーに
     入力タイム・スタンプ・データを日付データとして扱うよう強制します。
     Microsoft Access で必要です。
 
 8 - これはタイム・スタンプの日付部分が  1899-12-30 の場合、ドライバーに
     時間データとして入力タイム・スタンプを扱うよう強制します。
     Microsoft Access で必要です。
 
 16 - 未使用
 
 32 - ドライバーに、SQL_LONGVARCHAR、SQL_LONGVARBINARY、および
      SQL_LONGVARGRAPHIC 列に関する情報を戻さないよう強制します。アプリケーションでは、
      長いフィールドがサポートされないように示されます。Lotus 123 で必要です。
 
 64 - これは、ドライバーにグラフィックス出力ストリングでヌル終了を強制します。
      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 - ドライバーに、DB2 MVS 同義語を使用して、Microsoft Query アプリケーション
         を強制的に動作させます。
 
 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 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 - 予約済み


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