このファイルをワークベンチのエディターで開くには、ダブルクリックします。このファイルは、Java プロジェクト内の pureQueryFolder フォルダーに置かれています。
このファイルでは、プロジェクト内のすべての pureQueryXML ファイルに適用されるオプションを指定できます。 個々の pureQueryXML ファイルに固有のオプションも指定できます。
このファイルにはコメントを追加できます。 各コメントの先頭には # 記号を付けます。
項目を作成または編集するときに支援が必要な場合は、CTRL+SPACE キー (このデフォルトのキー・ストロークを変更した場合には独自のキー・ストローク) を押すことができます。
構文図を理解する上で役立つ情報については、構文図の読み方を参照してください。
ファイルを保存した後、ワークベンチではそのファイルに対して Configure ユーティリティーが実行され、「SQL Outline」ビューが最新表示されます。 バインド操作はまだ実行されていないため、ビューに表示されるのはバインドされていないパッケージのみです。
以下の図は、このファイルでリストされた pureQueryXML ファイルすべてに対するデフォルト・オプションの設定で許可される構文を示します。
>>-defaultOptions--=--+-----------------------------------+-----> | .-NULLID----------. | '- -collection--+-collection-name-+-' >--+--------------------------------+---------------------------> '- -pkgVersion-- -+-AUTO-------+-' '-version-ID-' >--+--------------------------------------------------------+---> '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-' +-READ_ONLY_SCROLLABLE---+ +-READ_ONLY_FORWARD_ONLY-+ '-NEVER------------------' >--+---------------------------------------+--------------------> | .-FALSE-. | '- -forceSingleBindIsolation--+-TRUE--+-' >--+------------------------+--+-----------------------+------->< | .-100----. | | (1) | '- -sqlLimit--+-number-+-' '-| Trace options |-----'
次の構文図は、このファイルでリストされた個々の pureQueryXML ファイルに対するオプションの設定で許可される構文を示します。
>>-pureQueryXML-file--+-----------------------------------+-----> | .-NULLID----------. | '- -collection--+-collection-name-+-' >--+--------------------------------+---------------------------> '- -pkgVersion-- -+-AUTO-------+-' '-version-ID-' >-- -rootPkgName--package-name-stem-----------------------------> >--+--------------------------------------------------------+---> '- -allowStaticRowsetCursors--+-READ_ONLY--------------+-' +-READ_ONLY_SCROLLABLE---+ +-READ_ONLY_FORWARD_ONLY-+ '-NEVER------------------' >--+-----------------------------+------------------------------> | .-FALSE-. | '- -cleanConfigure--+-TRUE--+-' >--+---------------------------------------+--------------------> | .-FALSE-. | '- -forceSingleBindIsolation--+-TRUE--+-' >--+------------------------+--+-----------------------+------->< | .-100----. | | (1) | '- -sqlLimit--+-number-+-' '-| Trace options |-----'
ファイル名に加えて、ファイルへの絶対パスを指定する必要があります。
行セット・カーソルをサポートするのは DB2 for z/OS だけです。行セット・カーソルは、IBM Data Server Driver for JDBC and SQLJ のプロパティーで行セット・カーソルを使用するように指定されている場合にのみ使用されます。 異なるタイプのデータ・ソースからキャプチャーされる、あるいは行セット・カーソルが有効化されていない状態でキャプチャーする場合、キャプチャーされるステートメントは、行セット・カーソルを使用しません。
行セット・カーソルが前方スクロール・カーソルに使用されない場合、Type 4 接続では、内部的に同様のメカニズムを使用してネットワーク・トラフィックを最小にすることができます。
このオプションは、以下の 4 つの値のいずれかの値を取ります。
以下の条件のいずれかに当てはまる場合には、このオプションを使用する必要はありません。
pureQuery では、以下のいずれかの条件が真の場合に、ステートメントを更新可能とみなします。
行セット・カーソルがサポートされていないデータ・ソースに対してステートメントを静的に実行した場合には、 pureQuery は、行セット・カーソルを使用するように指定したいずれのステートメントでも行セット・カーソルを使用しようとしません。
このオプションを指定しなければ、デフォルトでは、ステートメントを取り込んだときに IBM Data Server Driver for JDBC and SQLJ が行セット・カーソルを使用したステートメントで pureQuery は行セット・カーソルを使用します。
すべてのステートメント・セットについて、Configure ユーティリティーは、構成プロセス中に configureStatus の値を AUTO に設定します。ステートメント・セット configureStatus の値 FINAL がオーバーライドされます。
FALSE がデフォルト値です。
名前の付いていないステートメント・セットでは、指定されたオプションがすべて構成により適用されます。
configureStatus の値が REQUIRED に設定されている名前付きステートメント・セットについては、いくつかのオプションが適用されます。 適用されるオプションとしては、-collection、-pkgVersion、-forceSingleBindIsolation、-markDDLForBind などがあります。整合性トークンが更新されます。ステートメント・セット内で静的に SQL ステートメントを実行する場合には、ステートメント・セットから作成されるパッケージを再バインドする必要があります。
構成プロセス時に、Configure ユーティリティーは configureStatus の値を REQUIRED から AUTO に変更します。
configureStatus の値が AUTO に設定されている名前付きステートメント・セットについては、ステートメント・セットを変更する必要があると判定された場合に限り、Configure ユーティリティーはオプションを適用します。ステートメント・セットが変更されない場合、整合性トークンは更新されません。configureStatus フラグが AUTO に設定されていて、-pkgVersion オプションが指定されている場合、このユーティリティーはバージョン ID を使用してステートメント・セットを更新します。 ステートメント・セットが変更されているときにステートメント・セット内で静的に SQL ステートメントを実行する場合、ステートメント・セットから作成されたパッケージを再バインドする必要があります。
configureStatus フラグが FINAL に設定されている名前付きのステートメント・セットでは、ステートメント・セットに問題が見つかった場合に、構成ユーティリティーによりエラーが表示されます。エラーとしては、セクション番号が昇順になっていない場合、また、位置更新ステートメントが SELECT ステートメントに関連付けられていない場合などが含まれます。 ステートメント・セットからステートメントを削除する必要がある場合は、構成ユーティリティーにより警告が表示されます。例えば、-removeSQLInactiveForDays オプションが指定されており、ステートメントのタイム・スタンプが削除条件と一致した場合に、ステートメント・セットからステートメントが削除されることがあります。 ステートメントと関連付けられている特殊レジスター値が変更された場合に、そのステートメントが別のステートメント・セットに移動されることがあります。
-isolationLevel オプションを使用して単一のステートメント・セットを 2 つまたは 3 つの異なるパッケージに、それぞれ異なる分離レベルでバインドする場合、ステートメント・セットが含まれる pureQueryXML ファイルに対して構成ユーティリティーを実行するときは -forceSingleBindIsolation オプションを使用しないでください。
例えば、StaticBinder ユーティリティーのオプション・ファイルに、次の 2 つの項目を組み込んだとします。
C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel UR C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel CS
構成ユーティリティーを captureFile.pdqxml ファイルに対して実行するときに -forceSingleBindIsolation オプションを使用した場合、StaticBinder ユーティリティーは次のアクションを実行します。
結果として、単一の MYPKGA パッケージは、CS 分離レベルでバインドされます。
バインドの結果が 2 つの MYPKGA パッケージ (1 つは UR 分離レベル、もう 1 つは CS 分離レベルのもの) となるようにする場合は、captureFile.pdqxml に対して構成ユーティリティーを実行するときに -forceSingleBindIsolation オプションを使用しないでください。
DB2 では複数のバージョンのパッケージを同時に存在させることができるため、古いバージョンのパッケージを置換することなく、同名の新しいパッケージをバインドできます。 新しいパッケージで問題が発生した場合には、そのパッケージの古いバージョンを使用できます。
また、構成ユーティリティーは、ファイル名にバージョン ID を付加して、pureQueryXML ファイルのコピーも作成します。
バージョン ID には、ご使用のオペレーティング・システムでファイル名として有効な文字のみを含めることができます。 また、ストリングおよびパッケージ名の長さは、ご使用のオペレーティング・システムでファイル名としてサポートされている長さを超えることはできません。
このオプションを指定した場合に、Configure ユーティリティーで pureQueryXML ファイルを変更しないと、pureQueryXML ファイルのコピーは作成されません。
このオプションを指定しなかった場合には、それ以降のバインドによって作成されるデータベース・パッケージはバージョンなしで作成され、ファイルのコピーは作成されません。
実行時のバージョンの検査は、バージョン名ではなく整合性トークンに基づいて行われます。
package-name-stem は、使用している DB2 データベースで設定された制約の範囲内でなければなりません。
pureQuery StaticBinder ユーティリティーを使用して、 DB2 パッケージを作成するのではなく、DBRM ファイルを生成する場合には、 package-name-stem は、長さが 6 文字以下の大文字にする必要があります。 pureQueryXml ファイルに DDL ステートメントが含まれているか、 (sqlLimit で指定された) パッケージ当たりのステートメント数に到達している場合に、 構成ユーティリティーによって、名前の語幹に文字が追加されます。 StaticBinder ユーティリティーを使用して DBRM ファイルを生成し、package-name-stem、構成ユーティリティーのアクティビティーによる追加文字、および分離レベルを組み合わせたストリングが 8 文字より長い場合には、StaticBinder ユーティリティーは例外をスローします。
デフォルト値は 100 です。
最初の 100 個の SQL ステートメントが入っているパッケージ | 次の n 個の SQL ステートメントが入っているパッケージ。ただし 100 < n < 200 | |
---|---|---|
分離レベル CS | myPackageA1 | myPackageB1 |
分離レベル RR | myPackageA2 | myPackageB2 |
分離レベル RS | myPackageA3 | myPackageB3 |
分離レベル UR | myPackageA4 | myPackageB4 |
数字はパッケージの分離レベルを示し、 文字は、sqlLimit の値と pureQueryXML ファイルに含まれるステートメントの数に基づいて作成されたパッケージの数を示します。 文字の部分は、英語のアルファベット順になります。文字 z に達し、さらにパッケージを作成する必要がある場合、文字は引き続き AA、AB、AC、という順序で付加されます。 名前がデータベースで許容される長さを超えてしまう場合には、ご使用のルート・パッケージ名の長さを短くするか、sqlLimit の値を大きくしてください。 また、単一の分離レベルでパッケージを作成する場合には、-forceSingleBindIsolation オプションを使用して分離レベルを示す数字を除去することもできます。
DB2 パッケージを表すステートメント・セットを作成する場合に、 SQL ステートメント数の限度を構成ユーティリティーが超える場合があります。 カーソル操作を行う SQL ステートメントはすべて、そのカーソルの DECLARE CURSOR ステートメントと同じパッケージになければなりません。 例えば、アプリケーションで、同じカーソルを参照する異なる UPDATE ステートメントを 15 個実行する場合、15 個のステートメントはすべて、そのカーソルの DECLARE CURSOR ステートメントが置かれている DB2 パッケージに置かれていなければなりません。
アプリケーションで最高のパフォーマンスを得るためには、sqlLimit を 400 より大きい値に設定しないでください。
>>-+------------------------+--+---------------------------+--->< '- -traceFile--file-name-' | .-OFF-----. | '- -traceLevel--+-ALL-----+-' +-SEVERE--+ +-WARNING-+ +-INFO----+ +-CONFIG--+ +-FINE----+ +-FINER---+ '-FINEST--'