ご使用のプラットフォームの DB2 CLI/ODBC 構成キーワードの設定方法に関する固有の情報については、 CLI/ODBC アクセスのためのプラットフォーム固有の詳細情報の最後のステップを参照してください。 db2cli.ini ファイルの位置および形式に関する詳細については、 CLI/ODBC 構成キーワードの設定方法を参照してください。
キーワードは、APPENDAPINAME で開始するアルファベット順にリストされています。またカテゴリーごとに分けられています。これらのカテゴリーのそれぞれは、クライアント構成アシスタント (UNIX プラットフォームでは利用不能) からアクセス可能な「CLI/ODBC 設定 (CLI/ODBC Settings)」ノートブックで別個のタブとして表されています。
汎用キーワード。
オプションの互換性セットを使用して、DB2 の動作を定義します。それらのオプションを設定すると、他のアプリケーションと DB2 との互換性の確認が可能です。
このオプションのデータ・タイプ・セットを使用して、 DB2 が種々のデータ・タイプをどのように報告し、取り扱うかを定義します。
オプションのエンタープライズ・セットを使用して、大容量のデータベースへの接続効率を最大にします。
オプションの環境セットを使用して、サーバーおよびクライアント・マシンでの種々のファイル位置を定義します。
オプションのファイル DSN セットを使用して、ファイル DSN 接続の TCP/IP 設定を定義します。
オプションの最適化セットを使用して、 CLI/ODBC ドライバーとそのサーバー間のネットワーク・フローの速度を上げ、量を減らします。
オプションのサービス・セットを使用して、 CLI/ODBC 接続で生じる問題のトラブルシューティングを助けます。また、プログラマーがいくつかのオプションを使用すると、 CLI プログラムがどのようにサーバーへの呼び出しに変換されるかを一層よく理解できます。
オプションの静的 SQL セットは、 CLI/ODBC アプリケーションで静的 SQL ステートメントを実行する際に使用されます。
オプションのトランザクション・セットを使用して、アプリケーションで使用される SQL ステートメントを制御し速度を上げます。
エラーを生成した DB2 CLI 関数 (API) 名が、 SQLGetDiagRec() または SQLError() を使用して取り出されたエラー・メッセージに追加されます。関数名は、中括弧 { } で囲まれます。
たとえば、
[IBM][CLI Driver]" CLIxxxx: < text > SQLSTATE=XXXXX {SQLGetData}"
このキーワードはデバッグにのみ使用できます。
このオプションを使用すると、照会を非同期に実行する機能を使用可能または使用不能にすることができます。ただし、実際の使用は、この機能を利用できるようにプログラミングされたアプリケーションに限られます。使用可能にするとアプリケーションが正常に機能しない場合にのみ、このオプションを使用不能にしてください。このオプションは、 db2cli.ini ファイル内のデータ・ソース・セクションにあります。
注: | CLI/ODBC ドライバーは、非同期 ODBC をサポートしていない旧バージョンの DB2 のときと同じように動作します。 |
このオプションを使用すると、ODBC データ・タイプ (SQL_BINARY、 SQL_VARBINARY、SQL_LONGVARBINARY、および SQL_BLOB) を 2 進データ・タイプとして報告するかどうか指定できます。 IBM DBMS は 2 進データ・タイプのある列をサポートしており、 CHAR、VARCHAR、および LONG VARCHAR 列に FOR BIT DATA 属性を定義します。 DB2 ユニバーサル・データベースは、BLOB データ・タイプでも 2 進データをサポートしています (この場合、 2 進データは CLOB データ・タイプにマップされます)。
DB2 バージョン 1 アプリケーションを使用している場合、このアプリケーションは (LONG) (VAR) CHAR データを SQL_C_CHAR バッファーに取り込むため、ユーザー側でこのオプションを設定しておくことが必要になります。 DB2 バージョン 1 では、データはそのまま SQL_C_CHAR バッファーに移されますが、 DB2 バージョン 2 以降では、データは 16 進数ニブルの ASCII 表示に変換されます。
FOR BIT DATA または BLOB として定義された列すべてに文字データしか入っておらず、かつアプリケーションが 2 進データ列を表示できない場合は、 BITDATA = 0 にしか設定できません。
値が 3〜30 の整数に指定されていない場合には、省略時値が使用されます。このとき、エラーまたは警告は出されません。
このキーワードは、CLI/ODBC アプリケーションでの SQL セクションの数を増やすのに使用されます。これが使用される場合には、管理者は CLIPKG バインド・オプションを使用して、必要な CLI バインド・ファイルを明示的にバインドしなければなりません。また、サーバー (UNIX または Intel プラットフォームで DB2 UDB V6.1 以降) にある db2cli.ini ファイルを CLIPKG と同じ値で更新しなければなりません。
この設定は、ラージ・パッケージ (364 個のセクションを含む) にのみ適用されます。スモール・パッケージ (64 個のセクションを含む) の数は 3 個であり、変更できません。
パッケージはデータベースでスペースをとるため、増やすセクションの数は、ご使用のアプリケーションを実行できるだけの数にとどめるようお勧めします。
DB2 ODBC カタログは、 DB2 コネクトを介してホスト DBMS に接続する ODBC アプリケーション内の表のリストを呼び出すスキーマ呼び出しのパフォーマンスを向上させるために設計されました。
ホスト DBMS 上で作成および保守される DB2 ODBC カタログには、実際の DB2 カタログで定義されているオブジェクトを表す行が含まれますが、それらの行には ODBC 操作をサポートするために必要な列だけが存在します。 DB2 ODBC カタログ内の表は事前に結合されていて、 ODBC アプリケーションへの高速なアクセスをサポートするように特に索引付けされています。
システム管理者は、それぞれに特定のユーザー・グループが必要とする行だけを含む複数の DB2 ODBC カタログ視点を作成できます。各ユーザーは、使用したい DB2 ODBC カタログ視点を (このキーワードを設定することにより) 選択できます。
CLISCHEMA 設定の使用は、ODBC アプリケーションからはまったく見えません。このオプションは任意の ODBC アプリケーションで使用できます。
このキーワードには SYSSCHEMA キーワードと類似の効果がありますが、 (適用できる場合) CLISCHEMA を代わりに使用してください。
CLISCHEMA はデータ・アクセスを効率的に改善します。 SYSSCHEMA と共に使用するユーザー定義の表は DB2 カタログの表のミラー・イメージなので、 ODBC ドライバーはやはり複数の表の行を結合して ODBC ユーザーに必要な情報を生成しなければなりません。 CLISCHEMA を使用しても、カタログ表との競合が少なくなります。
接続したい DB2 エンタープライズ拡張エディション・データベース区画サーバーの宛先論理ノードを指定するために使用します。このキーワード (または属性設定値) は、環境変数 DB2NODE の値を指定変更します。以下の値に設定できます。
この変数が設定されていない場合、省略時の宛先論理ノードとしてマシン上のポート 0 に定義された論理ノードが使用されます。
このオプションを使用すると、省略時接続タイプが指定できます。
このキーワードは、動的 SQL ステートメント内で使用されている関数参照とデータ・タイプ参照を解決するために用いるパスを定義します。キーワードには 1 つまたは複数のスキーマ名をリストにして含めることができますが、スキーマ名はコンマで区切り、二重引用符で囲みます。
省略時値は "SYSIBM","SYSFUN",X です。ここで、X は二重引用符で区切られた USER 特殊レジスターの値です。スキーマ SYSIBM を指定する必要はありません。このスキーマが関数パスに組み込まれていなくても、暗黙的に最初のスキーマとみなされます。
このキーワードは、現行ユーザーのスキーマ以外のスキーマ名に定義されている可能性のある非修飾関数参照を解決するプロセスの一部として使用されます。スキーマ名の順序によって、解決する関数名の順序が決まります。関数の解決に関する詳細については、 SQL 解説書 を参照してください。
このオプションを使用すると、データベースに接続するたびに、 "SET CURRENT PACKAGESET schema" コマンドを発行します。省略時設定では、この文節は追加されません。
このステートメントはスキーマ名 (コレクション識別子) を設定しますが、このスキーマ名を使用して以後の SQL ステートメントに使用するパッケージが選択されます。
CLI/ODBC アプリケーションは動的 SQL ステートメントを発行します。このオプションを使用することにより、これらのステートメントを実行する際に使用できる特権を制御できます。
こうして、CLI/ODBC から出される SQL ステートメントは指定したスキーマの下で実行し、スキーマに定義された特権を使用します。
SET CURRENT PACKAGESET コマンドに関する詳細については、 SQL 解説書 を参照してください。
要約表および SET CURRENT REFRESH AGE ステートメントについての情報は、 SQL 解説書 を参照してください。
このキーワードには、以下のいずれかの値を設定しなければなりません。
このオプションが設定されていると、接続が成功したときに、 SET CURRENT SCHEMA ステートメントが DBMS に送信されます。こうすることにより、エンド・ユーザーまたはアプリケーションが SQL オブジェクトをスキーマ名を使わずに指定できるようになります。
SET CURRENT SCHEMA ステートメントの詳細については、 SQL 解説書 を参照してください。
このオプションが設定されていると、接続が成功したときに、 SET CURRENT SQLID ステートメントが DBMS に送信されます。こうすることにより、エンド・ユーザーとアプリケーションが SQL オブジェクトをスキーマ名を使わずに指定できるようになります。
このオプションは、オープン・カーソル上でトランザクション完了の影響を制御します。
注: | トランザクションがロールバックされた場合は、常にカーソルは破棄されます。 |
SQL_CURSOR_COMMIT_BEHAVIOR または SQL_CURSOR_ROLLBACK_BEHAVIOR とともに呼び出された場合、このオプションは SQLGetInfo() によって戻された結果に影響します。カーソルの with hold がサポートされていない DB2 (VSE および VM 版) に接続している場合は、 CURSORHOLD の値は無視されます。
このオプションを使用してパフォーマンスを調整することができます。使用しているアプリケーションが以下のような場合に、このオプションをカーソル保留なし (0) に設定できます。
トランザクション終了後に資源を保持する必要がなくなるので、 DBMS の操作はより効率的になります。
ファイル DSN を使用している場合には、このオプションを使用して、接続先のサーバーのデータベースを指定しなければなりません。この値は、クライアントに指定されるデータベース別名とは関係ありません。これは、サーバー自体のデータベース名に設定されなければなりません。
この設定は、TCPIP に PROTOCOL オプションが設定されている場合にのみ適用されます。
このオプションは、どのバージョンの DB2 コネクトまたは DB2 DDCS ゲートウェイを使用しているかを DB2 CLI ドライバーに示すために使用します。 CLI ドライバーはこの情報を使用して、データ・ソースとの対話を最大限に活用します (たとえば、複数の結果セットを戻すストアード・プロシージャーのサポート)。
5 = バージョン 5 の DB2 コネクト・ゲートウェイを使用していることを示します (省略時値)。
2 = バージョン 2 の DB2 DDCS ゲートウェイを使用していることを示します。
このオプションは、DB2 バージョン 5.2 以降のサーバーにのみ適用できます。 0 (省略時値) 以外の値を指定した場合、 DB2 CLI は正常に接続された後に次の SQL ステートメントを発行します。
SET CURRENT DEGREE value
このステートメントは SQL ステートメント実行時の並列性の程度を設定します。 ANY を指定した場合は、データベース・マネージャーが並列性の程度を決定します。
SET CURRENT DEGREE ステートメントの詳細については、 SQL 解説書 を参照してください。
このオプションは、DB2 最適化プログラムから戻された見積もりを報告するため、 DB2 CLI が SQL 照会ステートメントの準備の終わりにダイアログ・ボックスを表示するかどうかを決めます。
図形ウィンドウには最適化プログラムの見積もりが表示されますが、そこには押しボタンがあって、この照会をさらに継続して実行するかまたは取り消すかをユーザーが選択できるようになっています。
DB2ESTIMATE の推奨値は 60000 です。
このオプションは、DB2 バージョン 2 以降のデータベースへの接続中にのみ関係します。ウィンドウが表示されるには、アプリケーションにグラフィカル・インターフェースがなければなりません。
このオプションを使用すると、 DB2 CLI/ODBC オプション DEFERREDPREPARE はオフとみなされます。
このキーワードは、Explain スナップショットまたは Explain 表情報 (あるいはその両方) がサーバーから生成されるようにするかどうかを判別します。
'SET CURRENT EXPLAIN SNAPSHOT=NO' および 'SET CURRENT EXPLAIN MODE=NO' ステートメントがサーバーに送信され、 Explain スナップショット機能と Explain 表情報のキャプチャー機能が両方とも使用不能にされます。
'SET CURRENT EXPLAIN SNAPSHOT=YES' と 'SET CURRENT EXPLAIN MODE=NO' ステートメントがサーバーに送信され、 Explain スナップショット機能は使用可能にされますが、 Explain 表情報キャプチャー機能は使用不能にされます。
'SET CURRENT EXPLAIN MODE=YES' と 'SET CURRENT EXPLAIN SNAPSHOT=NO' がサーバーに送信され、 Explain 表情報キャプチャー機能は使用可能にされますが、 Explain スナップショット機能は使用不能にされます。
'SET CURRENT EXPLAIN MODE=YES' と 'SET CURRENT EXPLAIN SNAPSHOT=YES' がサーバーに送信され、 Explain スナップショット機能と Explain 表情報キャプチャー機能の両方が使用可能にされます。
Explain 情報は Explain 表に挿入されますが、 Explain 情報が生成される前に Explain 表が作成されていなければなりません。これらの表に関する詳細については、 SQL 解説書 を参照してください。
現行の許可 ID は、Explain 表に対して INSERT 特権を持っていなければなりません。
オプション 1 は DB2 共通サーバー バージョン 2.1.0 以降のデータベースに接続中にのみ有効です。オプション 2 と 3 は DB2 共通サーバー バージョン 2.1.1 以降のデータベースに接続中にのみ有効です。
このオプションを設定すると、DB2 CLI は正常に接続した後に次の SQL ステートメントを発行します。
SET CURRENT QUERY OPTIMIZATION positive number
このステートメントは、最適化プログラムが SQL 照会を動作させる照会最適化レベルを指定します。許される最適化レベルについては、 SQL 解説書 を参照してください。
このキーワードを使用すると、 8 文字を超える単一バイト文字をデータ・ソース名に使用できるようになります。データ・ソース名 (DSN) は db2cli.ini ファイル (プラットフォーム上にある ASCII ファイル) のセクション見出しを表す、大括弧で囲まれた名前です。通常、セクション見出しはデータベース別名で、最大で 8 バイトの長さです。データ・ソースを表すのにより長くて分かりやすい名前を使いたいという場合は、セクション見出しに長い名前を配置し、 CATALOG コマンドでこのキーワード値をデータベース別名に設定することができます。以下は、この例です。
; The much longer name maps to an 8 single byte character dbalias [MyMeaningfulName] DBALIAS=DB2DBT10
エンド・ユーザーは接続するデータ・ソースの名前を [MyMeaningfulName] に指定できますが、実際のデータベース別名は DB2DBT10 です。
16 ビットの Windows ODBC 環境では、 ODBC.INI ファイルの [ODBC DATA SOURCES] 項目の下にある次の行を長い別名 (dbname) で更新することも必要です。
< alias >=IBM DB2 ODBC DRIVER
このオプションは、DB2 (MVS/ESA 版) に接続する時にのみ、また (基本) 表のカタログ情報がアプリケーションによって要求された場合にのみ、使用されます。 DB2 (MVS/ESA 版) サブシステムにある表の数が非常に多い場合、dbname を指定して、アプリケーションが表情報を照会するために要する時間を短縮し、アプリケーションにリストされる表の数を少なくすることができます。
このオプションが設定されている場合、ステートメント IN DATABASE dbname は、 CREATE TABLE などの種々のステートメントに追加されます。
この値は、DB2 (MVS/ESA 版) システム・カタログ表の DBNAME 列にマップされます。値を指定しない場合、または TABLETYPE で視点、シノニム、システム表、または別名も指定されている場合は、表情報だけが制限され、視点、別名、およびシノニムは DBNAME によっては制限されません。 SCHEMALIST や TABLETYPE と組み合わせて使用し、情報を戻す表の数を一層制限することができます。
このオプションは一時的にしか使用できません。その代わりストアード・プロシージャー・カタログ表を使用してください。詳しくは、SQL 解説書 を参照してください。
このオプションによって指されるライブラリーは、まだ明示的にはライブラリーを指定していないストアード・プロシージャー呼び出しすべてで使用できます。サーバー・マシン上にロケーションを指定するので、クライアントではなくオペレーティング・システムのパス形式を使用しなければなりません。詳しくは、 SQL 解説書 の CALL ステートメントを参照してください。
たとえば、ストアード・プロシージャーがサーバー上のライブラリー・ファイル d:\terry\proclib\comstor にある場合は、 DEFAULTPROCLIBRARY を d:\terry\proclib\comstor に設定してから、ストアード・プロシージャー func をライブラリーを指定せずに呼び出します。その結果の SQL ステートメントは次のようになります。
CALL d:\terry\proclib\comstor!func
付随する実行要求が発行されるまで、PREPARE 要求の送信は遅延されます。それから、 2 つの要求は、ネットワーク・フローを最小化し、パフォーマンスを改善するために、 (2 つではなく) 1 つのコマンド/応答フローに結合されます。
省略時設定の動作は DB2 バージョン 2 から変更されました。現在は据え置き準備が省略時値になっており、必要なら明示的にオフにしなければなりません。
ターゲットの DB2 共通サーバー・データベースまたは DDCS ゲートウェイが据え置き準備をサポートしていない場合は、その接続に対してはクライアントが据え置き準備を使用不能にします。
注: | 据え置き準備を使用可能にすると、通常は SQLCA の PREPARE ステートメントの SQLERRD(3) と SQLERRD(4) に戻される行およびコスト見積もりが、ゼロになる可能性があります。このことは、これらの値を使用して SQL ステートメントを継続するかどうかを決めているユーザーにとって重要となります。 |
このオプションは、 CLI/ODBC オプション DB2ESTIMATE がゼロ以外の値に設定されていれば、オフになります。
CLI/ODBC ドライバーには、複数の並行スレッドをサポートする能力があります。
このオプションを使用して、マルチスレッド・サポートを使用可能または使用不能にします。
マルチスレッド化を使用不能にすると、すべてのスレッドへの呼び出し全部は処理レベルで逐次化されます。 DB2 バージョン 2 で動作の逐次化が必要なマルチスレッド・アプリケーションには、この設定を使用します。
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
このオプションは、最終レコードがクライアントに送信された時点で、クライアントのカーソルをクローズせずに、サーバーの一時カーソルを自動的にクローズするかどうかを指定します。
これによって、CLI/ODBC ドライバーは、カーソルがクローズしたことを認識できるため、明示的にクローズするためのステートメントを発行しなくても済み、ネットワーク要求を省略できるようになります。
このオプションをオンにすると、小さい結果セットをたくさん使用するアプリケーションの処理速度が向上します。
次の場合は、EARLYCLOSE 機能を使用しません。
注: | このオプションはいつでも設定できますが、実際に使用されるオプション値は、ステートメントを実行する (カーソルをオープンする) ときに存在しているオプション値です。 |
このオプションは、アプリケーションがデータベース内の表の特権または表内の列の特権のリストを入手したときに、戻される情報の量を少なくするために使用できます。指定した許可 ID のリストをフィルターとして使用します。指定した ID に対して 付与された特権を持つのは、戻された表や列だけです。
このオプションは付与された特権を持つ 1 つまたは複数の許可 ID のリストに対して設定しますが、それぞれの ID は単一引用符で囲み、コンマで区切ります。ストリング全体を二重引用符で囲むことも必要です。たとえば、
GRANTEELIST=" 'USER1', 'USER2', 'USER8' "
上記の例では、アプリケーションが特定の表に対する特権のリストを入手した場合、 USER1、USER2、または USER8 に対して 付与されている特権を持つ列だけが戻されます。
このオプションは、アプリケーションがデータベース内の表の特権または表内の列の特権のリストを入手したときに、戻される情報の量を少なくするために使用できます。指定した許可 ID のリストをフィルターとして使用します。指定した ID によって 付与された特権を持つのは、戻された表や列だけです。
このオプションは付与された特権を持つ 1 つまたは複数の許可 ID のリストに対して設定しますが、それぞれの ID は単一引用符で囲み、コンマで区切ります。ストリング全体を二重引用符で囲むことも必要です。たとえば、
GRANTORLIST=" 'USER1', 'USER2', 'USER8' "
上記の例では、アプリケーションが特定の表に対する特権のリストを入手した場合、 USER1、USER2、または USER8 によって 付与されている特権を持つ列だけが戻されます。
このオプションは、2 つの関連する情報をアプリケーションから戻す方法を制御します。
省略時設定では、多くの場合市販のアプリケーションがこのデータ・タイプを認識せず、適切な処理を行えないため、GRAPHIC は戻されません。
このオプションと SERVICENAME オプションを組み合わせて使用することにより、このクライアント・マシンから DB2 を実行しているサーバーへの TCP/IP 接続に必要な属性を指定できます。これら 2 つの値は、TCPIP に PROTOCOL オプションが設定されている場合にのみ適用されます。
サーバー・システムのホスト名または IP アドレスのいずれかを指定します。
ごくまれに、アプリケーションが警告メッセージを適正に処理しないことがあります。このオプションを使用することにより、データベース・マネージャーからの警告がアプリケーションに渡されないように指定することができます。
このオプションは単独でも使用できますが、 WARNINGLIST CLI/ODBC 構成キーワードと組み合わせて使用することもできます。
まれに、アプリケーションが一部の警告メッセージを適切に処理しないものの、すべての警告メッセージを無視したくはないという場合があります。このキーワードを使用することにより、どの警告をアプリケーションに渡さないようにするかを指定できます。すべてのデータベース・マネージャー警告を無視する場合は、 IGNOREWARNINGS キーワードを使用してください。
sqlstate が IGNOREWARNLIST と WARNINGLIST との両方に含まれる場合、それらはすべて無視されます。
各 sqlstate は大文字にし、単一引用符で囲み、各値をコンマで区切らなければなりません。ストリング全体を二重引用符で囲むことも必要です。たとえば、
IGNOREWARNLIST="'01000', '01004','01504'"
0 = データベース接続をキャッシュしません (省略時値)。
このオプションをゼロより大きい値に設定すると、同じ接続情報を使用して同じデータベースとの間で定期的に接続と切断を繰り返すアプリケーションの処理速度は向上します。
一回ごとに接続のクローズとオープンを繰り返すのではなく、 CLI/ODBC ドライバーは接続をオープンにしたままで、接続情報をキャッシュします。次に同じデータベースへの接続要求が生じたときには、既存の接続が使用されます。このようにして、最初の接続のクローズと次の接続の再オープンに要する時間、資源、およびネットワーク・フローを節約することができます。
このオプションに設定した値で、キャッシュするデータベース接続の数が指定されます。最大値はシステム資源の数までに限定されていますが、通常はこの動作の利点を活用するアプリケーションに 1 または 2 の値を設定すれば十分です。
省略時設定では、5 つのステートメント・ハンドルに必要なメモリーがキャッシュされます。ステートメント・ハンドルがクローズされると、そのハンドルに使用されていたメモリーは割り振り解除されますが、次のステートメント・ハンドルが割り振られるとまた使用されます。
このオプションに設定した値で、キャッシュするステートメント・ハンドルの数が決まります。この値を 4 以下に設定し、ステートメント・キャッシュに使用するメモリーの量を明示的に減らすことができます。また値を 6 以上に増やして、アプリケーションのパフォーマンスを向上させ、多数のステートメント・セットをオープン、クローズ、そして再オープンするようにもできます。
キャッシュされるステートメント・ハンドルの最大数は、システム資源によって決まります。
このオプションを指定すると、SQLGetTypeInfo() によって戻され、 SQL_CLOB、SQL_BLOB、および SQL_DBCLOB SQL データ・タイプ用に指定される COLUMN_SIZE 列の値を、 2 ギガバイト (DBCLOB の場合は 1 ギガバイト) に一時変更します。それ以後に LOB 列を含む CREATE TABLE ステートメントでは、省略時値ではなくここに設定した列サイズが使用されます。
このオプションは、ラージ・オブジェクト (LOB) 列を含むデータベースを処理する際にアプリケーションが予期しているデータ・タイプが何かを DB2 CLI に指示します。
データベースのデータ・タイプ | ラージ・オブジェクト (0 : 省略時値) | 長形式データ・タイプ (1) |
---|---|---|
CLOB | SQL_CLOB | SQL_LONGVARCHAR |
BLOB | SQL_BLOB | SQL_LONGVARBINARY |
DBCLOB | SQL_DBCLOB | SQL_LONGVARGRAPHIC |
このオプションは、ラージ・オブジェクト・データ・タイプを処理できない ODBC アプリケーションを実行する際には便利です。
このオプションに DB2 CLI/ODBC オプションの LOBMAXCOLUMNSIZE を組み合わせて使用することにより、データに対して宣言される省略時サイズを減らすことができます。
このオプションは、各 CLI/ODBC アプリケーションに許可される最大接続数を指定するときに使用します。このオプションは、各アプリケーションがオープンする最大接続数を管理者が制限したい場合に、その最大数の管理プログラムの代わりに使用できます。値 0 は、制限なし を表すのに使用することができます。つまり、アプリケーションはシステム資源で許可される範囲で最大数の接続をオープンすることができます。
OS/2 および WIN32 プラットフォーム (Windows NT および Windows 95) では、 NetBIOS プロトコルを使用している場合、この値がアプリケーションによって並行してセットアップされる接続 (NetBIOS セッション) の数に対応します。 OS/2 NetBIOS の値の範囲は、1 から 254 です。 0 (省略時値) を指定すると、5 つの予約済み 接続となります。 予約済み NetBIOS セッション は他のアプリケーションからは使用できません。このオプションで指定された接続数は、 DB2 NetBIOS プロトコルがリモート・サーバーへの接続に使用するアダプターすべてに適用されます (アダプター番号は NetBIOS ノードのノード・ディレクトリーに指定されます)。
CONNECT モードを SHARE または EXCLUSIVE に設定します。接続時にアプリケーションによって設定されたモードがあれば、この値は無視されます。省略時値は SHARE です。
注: | EXCLUSIVE は DRDA 接続には許可されていません。 CONNECT ステートメントの詳細については、 SQL 解説書 を参照してください。 |
このオプションは、 SQLConnect() 要求が物理データベース接続にマップされる方法を指定するときに使用します。
MULTICONNECT が 0 に設定されている場合、キーワード DISABLEMULTITHREAD を使用してマルチスレッド化を使用不可にしなければなりません。
注: | MULTICONNECT の設定が解除されると、ステートメントはすべて同じ接続で、したがって同じトランザクションで実行されます。これは、ロールバックを実行すると、すべての接続のすべてのステートメントをロールバックしてしまうということです。ロールバックを実行する前に、アプリケーションが MULTICONNECT オフで動作するように設計されていることを確認してください。そのように設計されていないと、アプリケーションが異常な動作をする場合があります。 |
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
このオプションは、SELECT ステートメントすべてに "OPTIMIZE FOR n ROWS" 文節を追加します (ここで、 n は 1 以上の整数です)。 n を 0 (省略時値) に設定すると、この文節は追加されません。
OPTIMIZE FOR n ROWS 文節の影響に関する詳細については、 管理の手引き を参照してください。
OPTIMIZESQLCOLUMNS がオン (1 に設定) の場合、明示的な (ワイルドカードを使用しない) スキーマ名、明示的な表名、および % (すべての列) が列名に指定された場合、 SQLColumns() へのすべての呼び出しが最適化されます。 DB2 CLI/ODBC ドライバーはこの呼び出しを最適化して、システム表がスキャンされないようにします。呼び出しが最適化されると、 COLUMN_DEF 情報 (列に関する省略時ストリングを含む) は戻されません。 AS/400 データベースに接続しているとき、 SQLColumns() から列に関して戻される、データ・タイプが NUMERIC の情報は不正確なものとなります。アプリケーションがその情報を必要としない場合、最適化をオンにしてパフォーマンスを向上させることができます。
アプリケーションが COLUMN_DEF 情報を必要とする場合、 OPTIMIZESQLCOLUMNS を 0 に設定してください。これが省略時値です。
このキーワードは、 ODBC アプリケーションで起きることが分かっている問題に一時修正処置を適用する際に使用します。指定できる値は、なし、1 つ、または複数の一時修正処置です。このキーワードに指定したパッチの値に、同時に設定した PATCH2 の値を組み合わせて使用することができます。
「DB2 CLI/ODBC 設定 (DB2 CLI/ODBC Settings)」ノートブックを使用して、使用するパッチを 1 つまたは複数選択できます。 db2cli.ini ファイルにある値を設定し、かつ複数のパッチ値を使用したい場合は、ただその値もキーワード値に追加すれば十分です。たとえば、パッチ 1、4、および 8 を使用したい場合は、 PATCH1=13 と指定します。
「DB2 CLI/ODBC 設定 (DB2 CLI/ODBC Settings)」ノートブックには、値のリストがあります。このリストの値を更新する方法については、「DB2」フォルダーの「サービス (Service)」フォルダーを選択してください。同じ情報が、 README ファイルにも記載されています (ご使用のプラットフォームに現行パッチ値がない場合は、 README ファイルにも該当する項目はありません)。
このキーワードは、 CLI/ODBC アプリケーションで起きることが分かっている問題に一時修正処置を適用する際に使用します。指定できる値は、なし、1 つ、または複数の一時修正処置です。このキーワードに指定したパッチの値に、同時に設定した PATCH1 の値を組み合わせて使用することができます。
複数のパッチを指定する場合、パッチ値は 1 つのストリング内にコンマで区切って指定します (PATCH1 とは異なります。 PATCH1 ではすべての値を足した合計を使用します)。
PATCH2 値に 3、4 および 8 を設定するには、次のようにします。
PATCH2="3, 4, 8"
PATCH2 値は、 README ファイルに記載されています (ご使用のプラットフォームに現行パッチ値がない場合は、 README ファイルにも該当する項目はありません)。
DB2 CLI が SQLGetDiagRec() または SQLError() を使用して検索可能なエラーを生成するたびに、メッセージ・ボックスを表示します。ユーザーにメッセージを報告しないアプリケーションのデバッグには便利です。
ファイル DSN を使用する際にサポートされるプロトコルは TCP/IP だけです。オプションをストリング TCPIP (スラッシュは入れない) に設定してください。
このオプションが設定される際には、以下のオプションも設定されていなければなりません。
このパスワード 値は、接続時にアプリケーションによってパスワードが提供されなかった場合に使用されます。
平文で保管されるので、パスワード情報は保護されません。
アプリケーションは、SQLSetStmtAttr() 関数を使用して SQL_ATTR_QUERY_TIMEOUT ステートメント属性を設定できます。これは、アプリケーションに戻る前に、 SQL ステートメントが実行されるまで待機する秒数を指定します。
QUERYTIMEOUTINTERVAL 構成キーワードは、照会が完了したかどうかを調べる検査と検査の間に CLI ドライバーが待機する時間を指定するために使用されます。
たとえば、SQL_ATTR_QUERY_TIMEOUT が 25 秒 (25 秒待機後にタイムアウト)、 QUERYTIMEOUTINTERVAL が 10 秒 (10 ごとに照会を実行) に設定されているとします。照会は、30 秒経過しないとタイムアウトになりません (25 秒経過した後に実行される最初の検査)。
SQL_ATTR_QUERY_TIMEOUT で設定されている値が小さすぎて、照会がタイムアウトにならない場合があります。アプリケーションを修正できない場合 (たとえば、第三者の ODBC アプリケーションであるため)、 QUERYTIMEOUTINTERVAL を 0 に設定することができます。こうすると、CLI ドライバーは SQL_ATTR_QUERY_TIMEOUT 設定を無視します。
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
SCHEMALIST は、 DBMS 内のすべての表をリストするアプリケーションの省略時値をより制限の強いものにすることによって、パフォーマンスを向上させます。
データベースに定義された表の数が非常に多い場合、スキーマ・リストを指定して、アプリケーションが表情報を照会するために要する時間を短縮し、アプリケーションにリストされる表の数を少なくすることができます。スキーマ名は大文字小文字を区別され、また各スキーマ名をコンマで区切り、二重引用符で囲む必要があります。ストリング全体を二重引用符で囲むことも必要です。たとえば、
SCHEMALIST="'USER1','USER2','USER3'"
DB2 (MVS/ESA 版) の場合、CURRENT SQLID もこのリストに加えることができますが、単一引用符は使用しません。たとえば次のようにします。
SCHEMALIST="'USER1',CURRENT SQLID,'USER3'"
ストリングの最大長は 256 文字です。
このオプションを DBNAME および TABLETYPE と組み合わせて使用し、情報を戻す表の数を一層制限することができます。
このオプションと HOSTNAME オプションを組み合わせて使用することにより、このクライアント・マシンから DB2 を実行しているサーバーへの TCP/IP 接続に必要な属性を指定できます。これら 2 つの値は、TCPIP に PROTOCOL オプションが設定されている場合にのみ適用されます。
サーバー・システムのサービス名またはポート番号のいずれかを指定します。
POPUPMESSAGE オプションと組み合わせて使用します。こうすることにより、定義された状態に関連付けられたエラーを DB2 CLI が表示することはありません。
各 SQLSTATE は大文字にし、単一引用符で囲み、各値をコンマで区切らなければなりません。ストリング全体を二重引用符で囲むことも必要です。たとえば、
SQLSTATEFILTER=" 'HY1090', '01504', '01508' "
このキーワードは、キャプチャー・ファイル名、および任意選択でこれが保管されるディレクトリーを指定するのに使用されます。
CLI/ODBC アプリケーションを静的 SQL として実行することについては、 STATICMODE キーワードを参照してください。
このキーワードは、静的プロファイル作成ログ・ファイル名、および任意選択でこれが保管されるディレクトリーを指定するのに使用されます。
CLI/ODBC アプリケーションを静的 SQL として実行することについては、 STATICMODE キーワードを参照してください。
このオプションを使用すると、この DSN について CLI/ODBC アプリケーションにより発行される SQL をどのように処理するかを指定することができます。
CLI/ODBC アプリケーションを静的 SQL として実行することについての詳細は、リリース情報と、インターネットの http://www.ibm.com/software/data/db2/udb/staticcli を参照してください。
このキーワードは、アプリケーションが突き合わせモードで実行されるときに使用されるパッケージを指定するのに使用されます。まず、突き合わせモードを使用してキャプチャー・ファイルを作成する必要があります。
指定されているパッケージ名の先頭の 7 文字のみ使用されます。それぞれの分離レベルを示すために、1 バイトの接尾部が追加されます。次のようになります。
CLI/ODBC アプリケーションを静的 SQL として実行することについては、 STATICMODE キーワードを参照してください。
複数のデータベース (DUOW) 接続の間でコミットとロールバックを整合させる方法を指定するときに、このオプションを使用します。このオプションは、省略時接続タイプが「調整済み接続 (Coordinated Connections)」 (CONNECTTYPE = 2) に設定されている場合にのみ有効です。
2 フェーズ・コミットを実行するためにトランザクション・マネージャーは使用しませんが、各データベースが行った作業を 1 つの多重データベース・トランザクションでコミットするには 1 フェーズ・コミットが使用されます。
2 フェーズ・コミットをサポートする複数のデータベースの間で 2 フェーズ・コミットを調整するには、トランザクション・マネージャーが必要です。
このオプションは、 DB2 CLI や ODBC カタログ関数呼び出しが発行されてシステム・カタログ情報を取得するときに、 SYSIBM (または SYSTEM、 QSYS2) の代わりに探索する代替スキーマを指定します。
このスキーマ名を使用して、次の各システム・カタログ表の行のサブセットから成る視点の集まりを、システム管理者が定義することができます。
DB2 ユニバーサル・データベース | DB2 (MVS/ESA 版) | DB2 (VSE および VM 版) | OS/400 | DB2 ユニバーサル・データベース (AS/400 版) |
---|---|---|---|---|
SYSTABLES | SYSTABLES | SYSCATALOG | SYSTABLES | SYSTABLES |
SYSCOLUMNS | SYSCOLUMNS | SYSCOLUMNS | SYSCOLUMNS | SYSCOLUMNS |
SYSINDEXES | SYSINDEXES | SYSINDEXES | SYSINDEXES | SYSINDEXES |
SYSTABAUTH | SYSTABAUTH | SYSTABAUTH |
| SYSCST |
SYSRELS | SYSRELS | SYSKEYCOLS |
| SYSKEYCST |
SYSDATATYPES | SYSSYNONYMS | SYSSYNONYMS |
| SYSCSTCOL |
SYSPROCEDURES | SYSKEYS | SYSKEYS |
| SYSKEYS |
SYSPROCPARMS | SYSCOLAUTH | SYSCOLAUTH |
| SYSREFCST |
| SYSFOREIGNKEYS |
|
|
|
| SYSPROCEDURES 1 |
|
|
|
| SYSDATABASE |
|
|
|
たとえば、システム・カタログ表の視点のセットが ACME スキーマにある場合、 SYSIBM.SYSTABLES の視点は ACME.SYSTABLES なので、 SYSSCHEMA を ACME に設定しなければなりません。
定義および使用するシステム・カタログ表の視点の数を限定すると、アプリケーションによってリストされる表の数も少なくてすみ、結果として表情報の照会にアプリケーションが要する時間を短縮することができます。
値を指定しない場合、省略時値は以下のとおりです。
このキーワードを SCHEMALIST および TABLETYPE (DB2 (MVS/ESA 版) では DBNAME も) と組み合わせて使用し、情報を戻す表の数をさらに制限することができます。
データベースに定義された表の数が非常に多い場合、TABLETYPE ストリングを指定して、アプリケーションが表情報を照会するために要する時間を短縮し、アプリケーションにリストされる表の数を少なくすることができます。
値はいくつでも指定できます。各タイプは大文字で表記し、単一引用符で囲み、コンマで区切る必要があります。ストリング全体を二重引用符で囲むことも必要です。たとえば、
TABLETYPE="'TABLE','VIEW'"
このオプションを DBNAME および SCHEMALIST と組み合わせて使用し、情報を戻す表の数を一層制限することができます。
TABLETYPE は、データベース内の表、視点、別名、およびシノニムのリストを取り出す DB2 CLI 関数に省略時値を提供するときに使用します。アプリケーションが関数呼び出しに表タイプを指定しておらず、かつこのキーワードも指定していない場合は、すべての表タイプに関する情報が戻されます。アプリケーションが関数を呼び出す際に tabletype に値を設定した場合には、その引き数値がこのキーワード値を指定変更します。
TABLETYPE に TABLE 以外の値が含まれている場合、 DBNAME キーワード設定値を使用して情報を特定の DB2 (MVS/ESA 版) データベースに制限することはできません。
ラージ・オブジェクト (CLOBS、BLOBS など) を処理する場合、情報を保管する一時ファイルがクライアント・マシン上に作成されることがよくあります。このオプションを使用すると、この一時ファイルの場所を指定することができます。何も指定しないと、システム一時ディレクトリーが使用されます。
このキーワードは、db2cli.ini ファイル内のデータ・ソース・セクションにあり、次の構文を取ります。
ラージ・オブジェクトにアクセスされたとき、指定したディレクトリーに一時ファイルが作成できない場合には、 SQLSTATE の HY507 が戻されます。
このオプションをオン (1) にすると、CLI/ODBC トレース・レコードが、 TRACEFILENAME 構成パラメーターに指定されたファイル、または TRACEPATHNAME 構成パラメーターに指定されたサブディレクトリーのファイルに追加されます。
たとえば、トレースが入力されるたびにディスクに書き込まれた CLI/ODBC トレース・ファイルをセットアップするには、次のように指定します。
[COMMON] TRACE=1 TRACEFILENAME=E:\TRACES\CLI\MONDAY.CLI TRACEFLUSH=1
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
TRACECOMM がオン (1) に設定されているとき、各ネットワーク要求に関する情報はトレース・ファイルに含められます。
このオプションは、TRACE CLI/ODBC オプションがオンになっている場合にのみ使用できます。例については、TRACE を参照してください。
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
指定したファイルが存在していない場合には、そのファイルが作成されます。ファイルが存在している場合は、そのファイルの末尾に新しいトレース情報が追加されます。
指定したファイル名が無効である場合、またはファイルを作成できないかファイルへの書き込みができない場合は、トレースは実行されず、エラー・メッセージも戻されません。
このオプションは、TRACE オプションがオンになっている場合にのみ使用できます。このオプションを CLI/ODBC 構成ユーティリティーに設定すると、このオプションは自動的に実行されます。
さまざまなトレース設定値の使用の例については、TRACE オプションを参照してください。このオプションが設定されている場合は、TRACEPATHNAME オプションが無視されます。
DB2 CLI トレースは、デバッグ用に限って使用してください。これらのオプションを使用すると CLI/ODBC の処理速度が低下し、しばらくそのままにしておくとトレース情報が非常に大きく膨れ上がります。
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
このオプションをオン (TRACEFLUSH = 1) に設定すると、トレース入力後に毎回、ディスクへの書き込みが強制的に実行されます。この場合、トレース処理の速度は低下しますが、アプリケーションが次のステートメントに移って実行を継続する前に、入力ごとにディスクに確実に書き込まれます。
このオプションは、TRACE CLI/ODBC オプションがオンになっている場合にのみ使用できます。例については、TRACE オプションを参照してください。
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
同一の DLL または共用ライブラリーを使用するスレッドやプロセスにはそれぞれ、個別の DB2 CLI/ODBC トレース・ファイルが作成され、指定されたディレクトリーに保管されています。
指定したサブディレクトリーが無効であったり、サブディレクトリーへの書き込みができない場合、トレースは実行されず、エラー・メッセージも戻されません。
このオプションは、TRACE オプションがオンになっている場合にのみ使用できます。このオプションを CLI/ODBC 構成ユーティリティーに設定すると、このオプションは自動的に実行されます。
さまざまなトレース設定値の使用の例については、TRACE オプションを参照してください。 DB2 CLI/ODBC オプション TRACEFILENAME を使用している場合、このオプションは無視されます。
DB2 CLI トレースは、デバッグ用に限って使用してください。これらのオプションを使用すると CLI/ODBC の処理速度が低下し、しばらくそのままにしておくとトレース情報が非常に大きく膨れ上がります。
(このオプションは初期設定ファイルの Common (共通) セクションにあるので、 DB2 への接続すべてに適用されます。)
分離レベルを以下のように設定します。
括弧で囲んだ語は、IBM 用語で等価の SQL92 分離レベルに対応したものです。コミットなし (no commit) は SQL92 分離レベルではなく、 DB2 ユニバーサル・データベース (AS/400 版) でのみサポートされています。分離レベルの詳細については、SQL 解説書 を参照してください。
このキーワードが適用されるのは、省略時の分離レベルが使用されている場合だけです。アプリケーションが特定の分離レベルを設定している場合、このキーワードには効果がありません。
指定されたユーザー ID 値は、接続時にユーザー ID がアプリケーションによって提供されなかった場合に使用されます。
このオプションを使用することにより、下線文字 "_" をワイルドカード文字 (文字なしを含め、任意の 1 文字にマッチングする) として使用するか、または下線文字そのものとして使用するかどうかを指定できます。このオプションは、探索パターン文字列を受け入れるカタログ関数呼び出しにのみ影響します。
下線文字はワイルドカード文字 (任意の 1 文字または文字なしにマッチングする) とみなされます。たとえば、2 つの表を次のように定義した場合を考えてみます。
CREATE TABLE "OWNER"."KEY_WORDS" (COL1 INT) CREATE TABLE "OWNER"."KEYWORDS" (COL1 INT)
表名探索パターン引き数に "KEY_WORDS" を指定した場合、表情報を戻す DB2 CLI カタログ関数呼び出し (SQLTables()) は上記の両方を戻します。
下線は下線そのものとして処理されます。 2 つの表が上記の例のように定義されている場合、表名探索パターン引き数に "KEY_WORDS" を指定した場合、 (SQLTables()) は "KEY_WORDS" だけを戻します。
このキーワードを 0 に設定すると、データベースのオブジェクト名 (所有者、表、列) に下線が含まれている場合に、パフォーマンスが向上します。
注: | このキーワードはバージョン 2.1 より前の DB2 共通サーバー版にしか効果がありません。それ以降のバージョンおよびその他のすべての DB2 サーバーには、LIKE 述部の ESCAPE 文節を使用できます。 ESCAPE 文節の詳細については、SQL 解説書 を参照してください。 |
エラーとして戻される SQLSTATE をいくつでも、警告に格下げできます。それぞれは大文字で表記し、単一引用符で囲み、コンマで区切る必要があります。ストリング全体を二重引用符で囲むことも必要です。たとえば、
WARNINGLIST=" '01S02', 'HY090' "
このオプションは IGNOREWARNINGS CLI/ODBC 構成キーワードと組み合わせて使用できます。 IGNOREWARNINGS もオンに設定している場合は、エラーを警告に格下げしても報告されることはありません。