オプション・ファイルを使用したクライアント最適化のための StaticBinder ユーティリティーを実行する場合の構文

pureQueryXML ファイルの名前と、これらのファイルに基づく DB2® パッケージまたは DBRM ファイルの作成用のオプションを指定するために、コマンドとオプション・ファイルを使用できます。pureQueryXML ファイルが 1 つしかない場合でも、オプション・ファイルは使用できます。

コマンド内に pureQueryXML ファイルをリストし、オプション・ファイル内の defaultOptions 項目のみ使用できます。

コマンド内とオプション・ファイル内に pureQueryXML ファイルをリストできます。コマンドとオプション・ファイルの両方にファイルをリストすると、StaticBinder ユーティリティーはこのファイルを処理します。オプション・ファイル内にファイルをリストし、コマンド内にはリストしないと、StaticBinder ユーティリティーはこのファイルを処理しません。コマンド内にファイルをリストし、オプション・ファイル内にはリストしないと、StaticBinder ユーティリティーはコマンド行上のオプションとオプション・ファイルの defaultOptions 項目内のオプションを使用してこのファイルを処理します。

コマンド行から StaticBinder ユーティリティーを実行して、オプション・ファイルを使用した場合には、ユーティリティーは以下の順序の優先順位でオプションを認識します。
  1. コマンド行のオプション
  2. 指定されたオプション・ファイルにある個々の pureQueryXML ファイルおよびステートメント・セットのオプション
  3. 指定されたオプション・ファイルのデフォルト・オプション
構文図を読む構文図をスキップする
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

>--+---------------------------------------------------------------------------------------------------------------+-->
   |  (2)                                                                                                          |   
   '------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-'   
                                               '-:--port-'                                                             

>--+-----------------------------------------------------------------+-->
   |                 .---------------------------------------------. |   
   |                 V                                             | |   
   '- -pureQueryXml----+-pureQueryXML-file-----------------------+-+-'   
                       '-pureQueryXML-file--:--base-package-name-'       

>-- -optionsFile--file-name--+-----------------------------+---->
                             |                   .-FALSE-. |   
                             '- -differenceOnly--+-TRUE--+-'   

>--+--------------------------+--------------------------------->
   |                .-FALSE-. |   
   '- -showDetails--+-TRUE--+-'   

                         .-NOT_SET------.   
>-- -statementBindError--+-REMOVE-------+----------------------->
                         '-MARK_INVALID-'   

>--+-----------------------+------------------------------------>
   |                   (3) |   
   '-| Trace options |-----'   

>--+-------------------------------+---------------------------->
   '- -verifyPackages--+-DETAIL--+-'   
                       '-SUMMARY-'     

>--+--------------------------+--------------------------------><
   |                .-FALSE-. |   
   '- -validateXml--+-TRUE--+-'   

注:
  1. オプションは任意の順序で指定できます。
  2. DBRM ファイルのみを作成する場合を除いて、コマンド内に URL、ユーザー ID、およびパスワードを指定しない際には、オプション・ファイル内に指定しなければなりません。
  3. 構文については、以下のオプションの説明を参照してください。

オプションの説明

-optionsFile file-name
バインドする SQL ステートメントが入っている pureQueryXML ファイルをリストするファイルの名前 (絶対パスまたは相対パスを含む)。
-password password
データ・ソースに接続するために使用するパスワード。
-pureQueryXml pureQueryXML-file|pureQueryXML-file:base-package-name
パッケージとしてバインドする SQL ステートメントの複数または単一のセットが入っている pureQueryXML ファイルを指定します。 複数の値の指定が可能です。
pureQueryXML-file
pureQueryXML ファイルの名前。 例えば、C:¥directory¥captureFile.pdqxml などです。
このファイルの拡張子は、.pdqxml または .xml でなければなりません。 ファイルをアプリケーションのクラスパス内のリソースにするか、 ファイルへの絶対パスまたは相対パスを指定する必要があります。
pureQueryXML-file:base-package-name
pureQueryXML ファイルの名前およびバインドするパッケージのベース名。 例えば、C:¥directory¥captureFile.pdqxml:MYPKGA などです。

ファイルの拡張子は、.pdqxml または .xml でなければなりません。 ファイルをアプリケーションのクラスパス内のリソースにするか、 ファイルへの絶対パスまたは相対パスを指定する必要があります。

パッケージのベース名は、pureQueryXML ファイル内のパッケージを示す package エレメントの name 属性の値です。 ベース名は、次の 2 つの部分で構成されます。
  • ルート・パッケージ名
  • 複数のパッケージ名が必要な場合に Configure ユーティリティーがルート・パッケージ名に付加する任意の文字。 たとえば、あるステートメント・セット内の SQL ステートメントの数が Configure ユーティリティーの -sqlLimit オプションの値を超えたときに、このユーティリティーは複数のパッケージ名を作成します。
注: pureQueryXML ファイルを構成したときに Configure ユーティリティーの -forceSingleBindIsolation オプションを指定した場合、StaticBinder ユーティリティーはパッケージ名に整数を付加しません。 この整数は、パッケージ内のすべての SQL ステートメントに適用される分離レベルを表します。
単一のコマンド内で -pureQueryXml-optionsFile を併用する際には、成果が複数になる可能性があります。オプション・ファイルを使用しながら、コマンド内に pureQueryXML ファイルとステートメント・セットを指定するを参照してください。
-differenceOnlyTRUE|FALSE
StaticBinder ユーティリティーの実行対象の pureQueryXML ファイル内の対応するステートメント・セットのコレクション名、パッケージ名、および整合性トークンの値と一致するものを持つ DB2 パッケージを置き換えないことを指定します。

例えば、capture.pdqxml という名前の pureQueryXML ファイルに対して StaticBinder ユーティリティーを実行するとします。 このユーティリティーにより、パッケージ MYPKGA、MYPKGB、および MYPKGC が作成されます。 その後、ワークベンチを使用して capture.pdqxml 内のステートメント・セット MYPKGA を編集し、このファイルに対して、-cleanConfigure オプションを指定して (値としてはデフォルト値 FALSE を使用) Configure ユーティリティーを実行します。 セットが変更されたため、構成ユーティリティーは新規の整合性トークンをステートメント・セットに割り当てます。 MYPKGA の新しいバージョンをバインドするために capture.pdqxml に対して再び StaticBinder ユーティリティーを実行する際には、-differenceOnly TRUE を指定します。 ユーティリティーは MYPKGA のみを再バインドし、他の 2 つのパッケージの再バインドは行いません。

デフォルト値は FALSE です。
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 に書き込まれます。
-showDetails TRUE|FALSE
StaticBinder ユーティリティーで、生成する DB2 パッケージおよび処理する pureQueryXML ファイル内の SQL ステートメントに関する詳細情報を表示するかどうかを指定します。
デフォルト値は false です。
-statementBindError NOT_SET|MARK_INVALID|REMOVE
バインド・プロセスで pureQueryXML ファイル内の SQL ステートメントに関して SQL エラーが返された場合に StaticBinder ユーティリティーが その SQL ステートメントを処理する方法を指定します。 デフォルト値はありません。このオプションが設定されていない場合、StaticBinder ユーティリティーは、 バインド・プロセス中に SQL エラーを返した SQL ステートメントを検出時に報告します。 サポートされる値と、SQL ステートメントの処理方法について、次のリストで説明します。
NOT_SET
pureQueryXML ファイル内の SQL ステートメントが変更されないように指定します。 この値がデフォルト値です。
MARK_INVALID
バインドが試行された結果として SQL エラーが発生した場合に SQL ステートメントが無効であることを示すように pureQueryXML ファイルが更新されることを 指定します。 SQL ステートメントが含まれているステートメント・セットに対してバインド操作が完了した後で、SQL エラーと、 無効としてマークされた SQL ステートメントが表示されます。

以前に無効としてマークされた SQL ステートメントはレポートに表示されません。

Configure オプション -restoreInvalidSQLForce を使用すれば、無効としてマークされた SQL ステートメントをリストアできます。 オプション -removeInvalidSQL を使用すれば、ステートメントを削除できます。

REMOVE
バインドが試行された結果として SQL エラーが発生した場合に SQL ステートメントが pureQueryXML ファイルから削除されるように指定します。 SQL ステートメントが含まれているステートメント・セットに対してバインド操作が完了した後で、SQL エラーと、 削除された SQL ステートメントが表示されます。 以前に無効としてマークされた SQL ステートメントも削除されます。
注意:
MARK_INVALID 値または REMOVE 値とともにこのオプションを 使用すると、pureQueryXML ファイルが変更される可能性があります。 このユーティリティーはこのファイルを変更して、SQL ステートメントを無効としてマークしたり、SQL ステートメントをファイルから削除したりします。

MARK_INVALID または REMOVE とともに -statementBindError オプションが 指定される場合は、pureQueryXML ファイルは書き込み可能でなければなりません。 StaticBinder ユーティリティーでファイルを更新できない場合は、エラーが表示されて、ファイルは処理されません。

以下の項目は、無効な SQL ステートメントを StaticBinder ユーティリティーが検出できるかどうかに影響します。
  • StaticBinder -differenceOnly オプションを値 TRUE とともに指定する。 StaticBinder は、すべての SQL ステートメントをバインドしようとはしません。 StaticBinder ユーティリティーは、バインドの試行対象としないステートメント・セットにある無効な SQL ステートメントを検出します。
  • バインド・オプション SQLERROR (CONTINUE) または VALIDATE (RUN) を StaticBinder オプション -bindOptions とともに指定する。 どちらかの BIND オプションが指定されると、SQL エラーとしてラベル付けされるはずの DB2 診断メッセージが、 代わりに SQL 警告としてラベル付けされます。 診断で SQL 警告が報告されても、StaticBinder ユーティリティーは SQL ステートメントを無効なステートメントとしては認識しません。

pureQuery データ・アクセス・オブジェクト (DAO) インターフェース実装クラスの バインド時には、-statementBindError オプションはサポートされません。 実装クラスをバインドするために StaticBinder ユーティリティーが実行され、 値 MARK_INVALID または REMOVE とともにこのオプションが指定されると、 このユーティリティーは警告を表示し、クラスのバインドを試みません。

注: 無効な SQL ステートメントとは、バインドが試行されたときに SQL エラーを返すステートメントのことです。 ただし、データベース・オブジェクトを変更して、そのデータベース・オブジェクトを参照する SQL ステートメントが無効にならないようにすることはできます。 このような変更は、SQL ステートメントを実行するアプリケーションに影響を与える可能性があります。 例えば、ステートメントが参照する列の型定義が VARCHAR(20) から VARCHAR(100) に変更された場合は、そのステートメントは無効ではありません。
-url connection-URL
データベースに接続するためのタイプ 4 JDBC URL。
名前付きパラメーター・マーカーを使用する SQL ステートメントをバインドする場合、データ・ソースへの接続を指定するときに enableNamedParameterMarkers プロパティーを値 1 で指定する必要があります。次の -url オプションの例では、testserver.test.com にある SAMPLE データベースに接続し、enableNamedParameterMarkers プロパティーを指定します。
-url jdbc:db2://localhost:50000/SAMPLE:enableNamedParameterMarkers=1;
-username user-ID
データ・ソースに接続するために使用するユーザー ID。
-verifyPackages DETAIL|SUMMARY
pureQueryXML ファイルに関連付けられた SQL ステートメント用に存在するパッケージおよび存在しないパッケージのレポートを StaticBinder ユーティリティーで生成するかどうかを指定します。 このオプションを使用した場合に、StaticBinder ユーティリティーはパッケージをバインドしません。

例えば、myApp.pdqxml という名前の pureQueryXML に対して構成ユーティリティーを実行したとします。 このユーティリティーを実行したときに、 -collection、-pkgVersion、および -rootPkgName オプションの値を指定し、ユーティリティーが pureQueryXML ファイルにこれらの値を保管しました。 このファイルの名前を指定して StaticBinder ユーティリティーを実行します。ユーティリティーによって DB2 パッケージが作成されます。

後から、StaticBinder ユーティリティーが pureQueryXML ファイルから作成したパッケージのリストを確認するとします。 ユーティリティーを実行する際に、値 DETAIL を指定して -verifyPackages オプションを使用し、再度ファイルの名前を指定できます。

-verifyPackages オプションは、pureQueryXML ファイルに対して構成ユーティリティーを実行して、そのファイルに対して StaticBinder ユーティリティーを実行した後に、そのファイルに対して再度構成ユーティリティーを実行して -collection、-pkgVersion、および -rootPkgName に別の値を指定していないことを前提に機能します。

StaticBinder ユーティリティーを最初に実行した後に myApp.pdqxml に対して構成ユーティリティーを実行して、 -collection、-pkgName、および -rootPkgName のいずれかの値を変更した場合には、StaticBinder ユーティリティーでは、これらのオプションの新しい値に一致するパッケージが検出されません。 StaticBinder ユーティリティーはレポートで、検索対象のパッケージが存在しないと報告します。

-collection、-pkgVersion、および -rootPkgName オプションの値が、StaticBinder ユーティリティーを前回実行したときと同じであれば、 ユーティリティーによってパッケージが検出されてリストされます。

このオプションは、-bindOptions オプションとともに指定できます。 ただし、StaticBinder ユーティリティーはパッケージをバインドしません。 パッケージを作成したときに -bindOptions オプションを使用してコレクションを指定した場合には、 このオプションのみを使用して、検証するパッケージのコレクションを指定してください。

DETAIL
-collection、-pkgVersion、および -rootPkgName の値に基づいた、以下の情報を説明するレポートを生成します。
  • 存在しないパッケージ。
  • 存在するパッケージ。レポートは、パッケージごとに名前、整合性トークン、タイム・スタンプ、および分離レベルをリストします。
  • 存在または存在しないパッケージの数。
SUMMARY
-collection、-pkgVersion、および -rootPkgName の値が与えられると、存在するパッケージおよび存在しないパッケージを列挙するレポートを生成します。
-validateXml TRUE|FALSE
pureQueryXML スキーマを使用する入力 pureQueryXML ファイルに対して XML スキーマの妥当性検査を実行するかどうかを指定します。この値が TRUE の場合、妥当性検査が実行されます。値が FALSE であるか、このオプションが指定されていない場合は、妥当性検査は実行されません。

入力ファイルごとに XML スキーマの妥当性検査の成功または失敗が確認され、報告されます。妥当性検査に失敗した入力ファイルがあっても、StaticBinder 処理は停止せず、次のファイルが処理されます。

pureQueryXML ファイルのスキーマの妥当性検査が失敗した場合は、そのファイル内のパッケージはバインドされません。ファイルの最初のスキーマの妥当性検査エラーおよびバインドの失敗が報告されます。

現行リリースまたは前のバージョンの pureQueryXML ファイル (バージョン 4 または 3) でのみ検証されます。 それよりも古いバージョンの pureQueryXML が検出された場合、そのファイルでは妥当性検査が実行されません。


フィードバック