このファイルをワークベンチのエディターで開くには、ダブルクリックします。このファイルは、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 のプロパティーで行セット・カーソルの使用が指定されている場合に使用されます。 別のタイプのデータ・ソースから取り込んだ場合、または行セット・カーソルを使用可能に設定せずに取り込んだ場合には、 取り込まれるステートメントでは行セット・カーソルは使用されません。
前方スクロール・カーソルで行セット・カーソルが使用されない場合に、タイプ 4 接続では同じようなメカニズムを内部で使用して、ネットワーク・トラフィックを最小化できます。
このオプションには、以下の 4 つの値のいずれかを指定します。
以下の条件のいずれかに当てはまる場合には、このオプションを使用する必要はありません。
pureQuery は、以下の条件のいずれかが満たされると、ステートメントを更新可能と見なします。
行セット・カーソルがサポートされていないデータ・ソースに対してステートメントを静的に実行した場合には、 pureQuery は、行セット・カーソルを使用するように指定したいずれのステートメントでも行セット・カーソルを使用しようとしません。
このオプションを指定しなければ、デフォルトでは、ステートメントを取り込んだときに IBM Data Server Driver for JDBC and SQLJ が行セット・カーソルを使用したステートメントで pureQuery は行セット・カーソルを使用します。
処理中、すべての SQL ステートメントは、指定されたオプション (sqlLimit、groupSQLByString、groupSQLBySpecialRegister など) に応じて、いくつかのステートメント・セットとして編成されます。 出力ファイルのステートメント・セットは、入力ファイルのステートメント・セットとは異なる場合があります。
-rootPkgName オプションに値を指定する必要があります。
これはデフォルト値です。-rootPkgName オプションに値を指定する必要があります。
名前の付いていないステートメント・セットでは、指定されたオプションがすべて構成により適用されます。
configureStatus が REQUIRED に設定されている名前付きのステートメント・セットでは、-collection、-pkgVersion、-forceSingleBindIsolation、および -markDDLForBind といった一部のオプションが適用されます。整合性トークンが更新されます。
configureStatus フラグが AUTO に設定されている名前付きのステートメント・セットでは、構成ユーティリティーによりステートメント・セットを変更する必要があると確認された場合に限り、構成によりオプションが適用されます。ステートメント・セットが変更されない場合、整合性トークンは更新されません。
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 では複数のバージョンのパッケージを同時に存在させることができるため、古いバージョンのパッケージを置換することなく、同名の新しいパッケージをバインドできます。 新しいパッケージで問題が発生した場合には、そのパッケージの古いバージョンを使用できます。
このオプションを指定しなかった場合には、それ以降のバインドで作成されるデータベース・パッケージは、バージョンなしで作成されます。
実行時のバージョンの検査は、バージョン名ではなく整合性トークンに基づいて行われます。
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--'