クライアント最適化のためのアーカイブ・ファイルからのバインディングの構文

このコマンドを使用すると、アプリケーションが含まれているアーカイブ・ファイルに対して StaticBinder ユーティリティーを実行できます。 アーカイブには、StaticBinder ユーティリティーに渡す pureQueryXML ファイルをリストした、拡張子 .bindProps の付いた StaticBinder オプション・ファイルが含まれていなければなりません。
構文図を読む構文図をスキップする
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

    (2)                                                                 
>-------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-->
                                             '-:--port-'                

>-- -username--user-ID-- -password--password-------------------->

>-- -archive-- -filename--+-.ear-+------------------------------>
                          +-.jar-+   
                          +-.war-+   
                          '-.zip-'   

>--+------------------------------------------------------------------------+-->
   |                  (3)                                                   |   
   +-| DBRM options |-------------------------------------------------------+   
   +- -bindOptions-- -"--bind-options--"--+-------------------------------+-+   
   |                                      '- -verifyPackages--+-DETAIL--+-' |   
   |                                                          '-SUMMARY-'   |   
   '- -verifyPackages--+-DETAIL--+------------------------------------------'   
                       '-SUMMARY-'                                              

>--+-----------------------------+--+----------------+---------->
   |                   .-FALSE-. |  |            (4) |   
   '- -differenceOnly--+-TRUE--+-'  '-| -grant |-----'   

>--+--------------------------+--+-----------------------+------>
   '- -isolationLevel--+-CS-+-'  |                   (5) |   
                       +-RR-+    '-| Trace options |-----'   
                       +-RS-+                                
                       '-UR-'                                

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

注:
  1. オプションは任意の順序で指定できます。
  2. DBRM ファイルのみを作成している場合には、-url、-username-、および -password オプションは使用する必要はありません。
  3. 構文については、以下のオプションの説明を参照してください。
  4. 構文については、このオプションの説明を参照してください。
  5. 構文については、以下のオプションの説明を参照してください。

オプションの説明

-archive archive-file
このオプションは、アプリケーションをアーカイブ・ファイルで DB2® サーバーにデプロイしていて、 そのサーバーで StaticBinder を実行して SQL ステートメントをバインドしている場合に使用します。 archive-file には、ご使用のアプリケーションを含むアーカイブを指定します。 サポートされているアーカイブ・タイプは、EAR、JAR、WAR、および ZIP です。

アーカイブには、StaticBinder ユーティリティーに渡す pureQueryXML ファイルをリストしたオプション・ファイル (拡張子は .bindProps) を含めることができます。コマンドの一部として .bindProps ファイルを指定しないと、StaticBinder ユーティリティーはアーカイブから .bindProps ファイルを検索します。StaticBinder ユーティリティーは、アーカイブから検出された最初の .bindProps ファイルを使用します。このユーティリティーは、トップレベルの EAR、JAR、または WAR から検索を開始します。

StaticBinder コマンドで .bindProps ファイルの名前を指定した場合、指定されたファイルが使用されます。

-archive オプションを指定して DAO 実装環境をバインドすると、StaticBinder ユーティリティーは実装クラスをロードして、そのクラスから情報を取得します。 クラスをロードするためには、EAR、JAR、または WAR ファイルからの依存クラスのロードが必要になることがあります。

-archive オプションを指定してバインド操作を行っているときに、クラスが見つからないことに関連するエラーが StaticBinder ユーティリティーから返されることがあります。 例えば、アプリケーション・サーバーのコンテキストを必要とする一部のエンタープライズ・アプリケーションが、このようなエラーを返す場合があります。

StaticBinder ユーティリティーでの従属関係のロードを最低限に抑えるために、Apache BCEL ライブラリーをクラスパスに配置することができます。 StaticBinder ユーティリティーは、BCEL ライブラリーを使用できる場合、バイトコード修正を使用して実装の従属関係を除外し、ロードされるクラスの数を最小限に抑えます。 ほとんどの場合、このライブラリーをクラスパスに追加することで、クラス未検出に起因するエラーは解決します。

Apache BCEL JAR ファイルは pureQuery Runtime には付属していません。BCEL ライブラリーは、Apache プロジェクトの Web サイトから入手できます。

-bindOptions "string-of-bind-options"
これらのオプションには、同名の DB2 プリコンパイル・オプションおよびバインド・オプションと同じ機能があります。 ストリングの形式は、以下のいずれかです。
  • "option_1 value_1 option_2 value_2"
  • "option_1(value_1) option_2(value_2)"

各オプションの値にスペースを含めることはできません。

これらのオプションのリストおよび説明については、BIND コマンドを参照してください。

DB2 for Linux, UNIX, and Windows バージョン 9.7 で CONCURRENTACCESSRESOLUTION バインド・オプションを使用した場合には、 CS および RR 分離レベルでバインドされているパッケージ内のすべてのステートメントにオプションが適用されます。 これらの 2 つの分離レベルにのみ適用されるこのオプションによって、アプリケーションは、他のアプリケーションがロックした行内で、最後にコミットされた値を検出できます。
DBRM options
パッケージを作成するのではなく DBRM ファイルを生成する場合は、これらのオプションを使用します。 これらのオプションは、DB2 for z/OS® を使用している場合にのみ適用されます。

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-----------><

-generateDBRM TRUE|FALSE
パッケージを作成する代わりに DBRM ファイルを生成するかどうかを指定します。 generateDBRMTRUE である場合には、 デフォルトでは、StaticBinder ユーティリティーによって、CS、RR、RS、UR の各分離レベルごとに 1 つずつ、合計 4 つの DBRM ファイルが生成されます。 ただし、-isolationLevel オプションを指定した場合には、DBRM ファイルは 1 つしか生成できません。

生成された DBRM ファイルのルート名は、構成ユーティリティーの実行時に指定したルート・パッケージ名です。

デフォルトは FALSE です。

-outputDBRMPath path
生成された DBRM ファイルを保存するディレクトリーを指定します。 デフォルト値は、StaticBinder ユーティリティーの実行元のディレクトリーです。
-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 です。
-grant "grantees(firstID,secondID,...)"
StaticBinder ユーティリティーが作成するパッケージに対する EXECUTE 特権を付与する対象の被認可者を括弧内にコンマで区切って示したリストを指定します。 このオプションを指定しなければ、StaticBinder ユーティリティーはこの特権を付与しません。
構文図を読む構文図をスキップする
                             .-,--------------------.          
                             V                      |          
>>- -grant-- "--grantees--(----+-authorization-ID-+-+--) - "---><
                               '-PUBLIC-----------'            

grantees
EXECUTE 特権を付与する対象の許可 ID のコンマ区切りリスト。 リストする許可 ID は必ず、使用する DB2 データベースで有効なものにしてください。

DB2 Database for Linux, UNIX, and Windows の場合: USER キーワード、GROUP キーワード、および ROLE キーワードを使用できます。 これらのキーワードについては、『GRANT (パッケージ特権) ステートメント』を参照してください。

DB2 for z/OS の場合: ROLE キーワードを使用できます。 このキーワードについては、『GRANT (パッケージ特権)』を参照してください。

制限: -generateDBRM オプションの値が TRUE である場合には、-grant オプションは使用できません。

-isolationLevel CS|RR|RS|UR
4 つの分離レベルごとに 1 つずつ DB2 パッケージまたは DBRM ファイルを生成するのではなく、特定の分離レベル用の単一の DB2 パッケージまたは DBRM ファイルを生成することを指定します。

分離レベルは、パッケージ内のすべての SQL ステートメントに適用されます。 IBM® Data Server Driver for JDBC and SQLJ の Connection.setTransactionIsolation() メソッドを使用して分離レベルを設定した場合は、pureQuery は静的に実行されたステートメントの分離レベルを無視します。

UR
分離レベルとして非コミット読み取りを指定します。
StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 1 を加えます。
CS
分離レベルとしてカーソル固定を指定します。
StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 2 を加えます。
RS
分離レベルとして読み取り固定を指定します。 読み取り固定では、アプリケーションによって読み取りおよび変更される行に関し、パッケージ内の SQL ステートメントの実行が、他のアプリケーション・プロセスから確実に分離されます。
StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 3 を加えます。
RR
分離レベルとして反復可能読み取りを指定します。
StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 4 を加えます。
-password password
データ・ソースに接続するために使用するパスワード。
-showDetails TRUE|FALSE
StaticBinder ユーティリティーで、生成する DB2 パッケージおよび処理する pureQueryXML ファイル内の SQL ステートメントに関する詳細情報を表示するかどうかを指定します。
デフォルト値は 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 に書き込まれます。
-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 の値が与えられると、存在するパッケージおよび存在しないパッケージを列挙するレポートを生成します。

フィードバック