(1) >>-java--com.ibm.pdq.tools.StaticBinder-------------------------> (2) >-------- -url--jdbc--:--db2--:--//--server--+---------+--/--database--> '-:--port-' >-- -username--user-ID-- -password--password--------------------> .---------------------------------------------. V | >-- -pureQueryXml----+-pureQueryXML-file-----------------------+-+--> '-pureQueryXML-file--:--base-package-name-' >--+------------------------------------------------------------------------+--> | (3) | +-| DBRM options |-------------------------------------------------------+ +- -bindOptions-- -"--bind-options--"--+-------------------------------+-+ | '- -verifyPackages--+-DETAIL--+-' | | '-SUMMARY-' | '- -verifyPackages--+-DETAIL--+------------------------------------------' '-SUMMARY-' >--+-----------------------------+--+----------------+----------> | .-FALSE-. | | (4) | '- -differenceOnly--+-TRUE--+-' '-| -grant |-----' >--+--------------------------+--+--------------------------+---> '- -isolationLevel--+-CS-+-' | .-FALSE-. | +-RR-+ '- -showDetails--+-TRUE--+-' +-RS-+ '-UR-' >--+-----------------------+--+--------------------------+------> | (5) | | .-FALSE-. | '-| Trace options |-----' '- -validateXml--+-TRUE--+-' >--+--------+-------------------------------------------------->< '- -help-'
これらのオプションのリストおよび説明については、BIND コマンドを参照してください。
StaticBinder ユーティリティーで DBRM ファイルが生成された後に、それらのファイルをデータ・セットにコピーする必要があります。デフォルトの DBRM データ・セット名は prefix.DBRMLIB.DATA です。ここで prefix は、ユーザーの TSO プロファイルで指定された高位修飾子です。通常、prefix は TSO におけるユーザー ID です。
DBRM データ・セットがまだ存在しない場合は、それを作成する必要があります。 DBRM データ・セットには、すべての SQL ステートメントを保持するスペースと、各ホスト変数名とヘッダー情報用の追加スペースが必要です。 ヘッダー情報の概算として、DBRM ごとに 2 つのレコード、SQL レコードごとに 20 バイト、ホスト変数ごとに 6 バイトが必要です。 DBRM の厳密なフォーマットについては、DBRM マッピング・マクロである、ライブラリー prefix.SDSNMACS の DSNXDBRM を参照してください。
以下の構文図は、DBRM ファイルを生成するためのオプションを記述しています。
.-FALSE-. >>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--path-----------><
生成された DBRM ファイルのルート名は、構成ユーティリティーの実行時に指定したルート・パッケージ名です。
デフォルトは FALSE です。
例えば、capture.pdqxml という名前の pureQueryXML ファイルに対して StaticBinder ユーティリティーを実行するとします。 このユーティリティーにより、パッケージ MYPKGA、MYPKGB、および MYPKGC が作成されます。 その後、capture.pdqxml 内のステートメント・セット MYPKGA を変更し、このファイルに対して、-cleanConfigure オプションを指定して (値はそのデフォルト値である FALSE を使用) 構成ユーティリティーを実行します。 セットが変更されたため、構成ユーティリティーは新規の整合性トークンをステートメント・セットに割り当てます。 MYPKGA の新しいバージョンをバインドするために capture.pdqxml に対して再び StaticBinder ユーティリティーを実行する際には、-differenceOnly TRUE を指定します。 ユーティリティーは MYPKGA のみを再バインドし、他の 2 つのパッケージの再バインドは行いません。
.-,--------------------. V | >>- -grant-- "--grantees--(----+-authorization-ID-+-+--) - "--->< '-PUBLIC-----------'
DB2 Database for Linux, UNIX, and Windows の場合: USER、GROUP、および ROLE キーワードを使用できます。 これらのキーワードについては、GRANT (パッケージ特権) ステートメントを参照してください。
DB2 for z/OS の場合: ROLE キーワードを使用できます。 このキーワードについては、GRANT (パッケージ特権) を参照してください。
制約事項:
分離レベルは、パッケージ内のすべての SQL ステートメントに適用されます。 IBM® Data Server Driver for JDBC and SQLJ の Connection.setTransactionIsolation() メソッドを使用して分離レベルを設定した場合は、pureQuery は静的に実行されたステートメントの分離レベルを無視します。
ファイルの拡張子は、.pdqxml または .xml でなければなりません。 ファイルをアプリケーションのクラスパス内のリソースにするか、 ファイルへの絶対パスまたは相対パスを指定する必要があります。
>>-+------------------------+--+---------------------------+--->< '- -traceFile--file-name-' | .-OFF-----. | '- -traceLevel--+-ALL-----+-' +-SEVERE--+ +-WARNING-+ +-INFO----+ +-CONFIG--+ +-FINE----+ +-FINER---+ '-FINEST--'
例えば、myApp.pdqxml という名前の pureQueryXML に対して構成ユーティリティーを実行したとします。 このユーティリティーを実行したときに、 -collection、-pkgVersion、および -rootPkgName オプションの値を指定し、ユーティリティーが pureQueryXML ファイルにこれらの値を保管しました。 このファイルの名前を指定して StaticBinder ユーティリティーを実行します。ユーティリティーによって DB2 パッケージが作成されます。
後から、StaticBinder ユーティリティーが pureQueryXML ファイルから作成したパッケージのリストを確認するとします。 ユーティリティーを実行する際に、値 DETAIL を指定して -verifyPackages オプションを使用し、再度ファイルの名前を指定できます。
-collection、-pkgVersion、および -rootPkgName オプションの値が、StaticBinder ユーティリティーを前回実行したときと同じであれば、 ユーティリティーによってパッケージが検出されてリストされます。
ただし、StaticBinder ユーティリティーを最初に実行した後に myApp.pdqxml に対して構成ユーティリティーを実行して、 -collection、-pkgName、および -rootPkgName のいずれかの値を変更した場合には、StaticBinder ユーティリティーでは、これらのオプションの新しい値に一致するパッケージが検出されません。 StaticBinder ユーティリティーはレポートで、検索対象のパッケージが存在しないと報告します。
-verifyPackages オプションは、pureQueryXML ファイルに対して構成ユーティリティーを実行して、そのファイルに対して StaticBinder ユーティリティーを実行した後に、そのファイルに対して再度構成ユーティリティーを実行して -collection、-pkgVersion、および -rootPkgName に別の値を指定していないことを前提に機能します。
このオプションは、-bindOptions オプションとともに指定できます。 ただし、StaticBinder ユーティリティーはパッケージをバインドしません。 パッケージを作成したときに -bindOptions オプションを使用してコレクションを指定した場合には、 このオプションのみを使用して、検証するパッケージのコレクションを指定してください。
入力ファイルごとに XML スキーマの妥当性検査の成功または失敗が確認され、報告されます。妥当性検査に失敗した入力ファイルがあっても、StaticBinder 処理は停止せず、次のファイルが処理されます。
pureQueryXML ファイルのスキーマの妥当性検査が失敗した場合は、そのファイル内のパッケージはバインドされません。ファイルの最初のスキーマの妥当性検査エラーおよびバインドの失敗が報告されます。
現行リリースまたは前のバージョンの pureQueryXML ファイル (バージョン 4 または 3) でのみ検証されます。 それよりも古いバージョンの pureQueryXML が検出された場合、そのファイルでは妥当性検査が実行されません。