GeneratePureQueryXml ユーティリティーを使用して、ステートメントおよびカーソル属性情報を含む SQL スクリプト・ファイルから pureQueryXML ファイルを生成します。
GeneratePureQueryXml ユーティリティーでは、SQL ステートメントおよびカーソル属性情報を含むファイルを読み取り、pureQueryXML ファイルを作成します。ファイルの作成後、Configure ユーティリティーを使用して pureQuery Runtime との作業に使用するファイルを準備します。pureQueryXML ファイルの構成後、StaticBinder ユーティリティーを使用して、構成された pureQueryXML ファイルの SQL ステートメントを含む DB2® パッケージを作成してバインドします。
コマンドの構文

(1)
>>-------java--java com.ibm.pdq.tools.GeneratePureQueryXml------>
>-- -username--user-ID-- -password--password-- -url--JDBC-URL--->
>--+---------------------------+-- -pureQueryXml--fileName------>
'- -driverName--JDBC-driver-'
>-- -inputSql--fileName--+----------------------------------+--->
'- -commentStart--commentIndicator-'
>--+---------------------------------+-------------------------->
'- -statementDelimiter -delimiter-'
>--+-------------------------------------+---------------------->
'- -resultSetHoldability -holdability-'
>--+-------------------------------------+---------------------->
'- -resultSetConcurrency--concurrency-'
>--+-----------------------+--+-----------------------+--------->
'- -resultSetType--type-' | (2) |
'-| Trace options |-----'
>--+--------+--------------------------------------------------><
'- -help-'
注:
- オプションは任意の順序で指定できます。
- 構文については、以下のオプションの説明を参照してください。
ダイアグラムで使用される規則を理解するには、構文図の読み方を参照してください。
オプションの説明
- -username user-ID
- user-ID は、データベースの認証に使用するユーザー ID を指定します。
- -password password
- データベースの認証に使用するパスワードを指定します。
- -url JDBC-URL
- データベースとの接続の確立に使用する JDBC URL を指定します。
- -driverName JDBC-driver
- データベースとの接続の確立に使用する JDBC ドライバーの完全修飾名を指定します。デフォルト値は com.ibm.db2.jcc.DB2Driver です。これは、IBM® Data
Server Driver for JDBC and SQLJ 用のドライバーです。
- -pureQueryXml file
- 出力 pureQueryXML ファイルの絶対パスまたは相対パスを指定します。
- -inputSql file
- SQL スクリプト・ファイルの絶対パスまたは相対パスを指定します。SQL スクリプト・ファイルの形式について詳しくは、GeneratePureQueryXml ユーティリティーにより使用される SQL スクリプト・ファイルの形式を参照してください。
- -commentStart file
- コメント行を示すために行頭に置かれる文字の組み合わせを指定します。コメント行には、コメントの直後にある SQL ステートメントに適用されるステートメントのカーソル属性を含めることが出来ます。デフォルトはダッシュ 2 つ (--) です。
- -statementDelimiter delimiter
- ステートメントを区切るために SQL スクリプト・ファイル内で使用される文字の組み合わせを指定します。デフォルト文字はセミコロン (;) です。
- -resultSetHoldability holdability
- すべてのステートメントに適用される結果セットの保持機能を指定します。holdability は、次のいずれかの値です。
- CLOSE_CURSORS_AT_COMMIT を指定すると、コミット時にカーソルを閉じるように結果セットの保持機能が設定されます。
- HOLD_CURSORS_OVER_COMMIT を指定すると、コミット後もカーソルを保持するように結果セットの保持機能が設定されます。
デフォルト値は HOLD_CURSORS_OVER_COMMIT です。
SQL ステートメントの直前にあるコメント行で保持機能を指定することにより、SQL ステートメント内の特定の SQL ステートメントに対し、保持機能の値をオーバーライドできます。
- -resultSetConcurrency concurrency
- すべてのステートメントに適用される結果セットの並行性を指定します。concurrency は、次のいずれかの値です。
- CONCUR_READ_ONLY を指定すると、カーソルの並行性が読み取り専用に設定されます。
- CONCUR_UPDATABLE を指定すると、カーソルの並行性が更新可能に設定されます。
デフォルト値は CONCUR_READ_ONLY です。
SQL ステートメントの直前にあるコメント行で並行性を指定することにより、SQL ステートメント内の特定の SQL ステートメントに対し、並行性の値をオーバーライドできます。
- -resultSetType type
- すべてのステートメントに適用される結果セットのタイプを指定します。タイプは、次のいずれかの値です。
- TYPE_FORWARD_ONLY を指定すると、結果セットのタイプが順方向のみに設定されます。
- TYPE_SCROLL_SENSITIVE を指定すると、結果セットのタイプがスクロール・センシティブに設定されます。
- TYPE_SCROLL_INSENSITIVE を指定すると、結果セットのタイプがスクロール・インセンシティブに設定されます。
SQL ステートメントの直前にあるコメント行で結果セットのタイプを指定することにより、SQL ステートメント内の特定の SQL ステートメントに対し、結果セットのタイプの値をオーバーライドできます。
- Trace options
- メッセージのログを記録するファイルおよびログを記録する情報のレベルを指定できます。

>>-+------------------------+--+---------------------------+---><
'- -traceFile--file-name-' | .-OFF-----. |
'- -traceLevel--+-ALL-----+-'
+-SEVERE--+
+-WARNING-+
+-INFO----+
+-CONFIG--+
+-FINE----+
+-FINER---+
'-FINEST--'
- -traceFile file-name
- 操作に関する情報のログを記録するために使用するファイルへの絶対パスまたは相対パスとファイル名を指定します。
- ファイルが既に存在する場合には、pureQuery は、ファイルの既存の内容に新しいメッセージを追加します。デフォルトでは、項目は System.err に書き込まれます。
- -traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
- ログに記録する情報のタイプを指定します。
デフォルトのレベルは OFF です。ログ項目を書き込むファイルを指定せず、このオプションを OFF 以外の値に設定した場合、項目は System.err に書き込まれます。
- -help
- 使用法情報の要約が表示されます。
出力 pureQueryXML ファイルに関する注記
以下のリストに、pureQueryXML ファイルの使用法についての情報を示します。
- SQL スクリプト・ファイルから pureQueryXML ファイルを作成する場合は、各 SQL ステートメントについて以下の基準が満たされていることを確認してください。
- ファイル内の SQL ステートメントのテキストが、アプリケーションにより発行された SQL ステートメントと完全に一致していること。
- ファイル内の SQL ステートメントの結果セットの保持機能、並行性、およびタイプの設定が、アプリケーションにより発行された SQL ステートメントの設定と一致していること。
上記の情報が一致しないと、pureQuery ランタイム executionMode プロパティーが STATIC に設定されている場合、またはランタイム capturedOnly プロパティーが TRUE に設定されている場合に、pureQuery クライアントの最適化による、アプリケーションにより発行されたステートメントと SQL ステートメントとの突き合わせが行われません。
- 出力 pureQueryXML ファイルを、SQL ステートメントを静的に実行するために、pureQuery クライアントの最適化で直接使用することはできません。StaticBinder ユーティリティーを使用する前に、Configure ユーティリティーを使用して、pureQuery クライアントの最適化で pureQueryXML ファイルを使用できるようファイルを変更しておく必要があります。
- 出力 pureQueryXML ファイルには、スタック・トレース情報や特殊レジスター情報といったアプリケーションの実行情報が含まれません。これらの情報は、pureQuery クライアントの最適化を使用するアプリケーションから SQL ステートメントをキャプチャーする際に作成される pureQueryXML ファイルに含まれます。
- 出力 pureQueryXML ファイルには、以下の SQL ステートメント情報が含まれません。これらの情報は、実行時に静的に実行されるステートメントを一致として特定するために pureQuery クライアントの最適化により使用されます。
- 自動生成されたキー列名
- 自動生成されたキー列の索引
- 自動生成されたキー・インディケーター
pureQuery クライアントの最適化を使用するアプリケーションが、SQL ステートメントを静的に実行するよう構成されており、GeneratePureQueryXml ユーティリティーにより作成された pureQueryXML ファイルを使用する場合に、そのアプリケーションにより発行されたステートメントで上記の 3 つのフィーチャーのいずれかが使用されていると、そのステートメントは静的に実行されません。これは、SQL ステートメントのテキストが一致する場合であっても同様です。
次の例では、SQL スクリプト・ファイル c:¥mystatements.sql で検出されたステートメントの情報を含む pureQueryXML ファイル c:¥statements.pdqxml を作成します。
java com.ibm.pdq.tools.GenPdqXml
-username db2admin –password mypass
–url jdbc:db2://localhost:50000/mydb
–pureQueryXml "c:¥statements.pdqxml" –inputSql "c:¥mystatements.sql"