アノテーション付きメソッドと共に使用する StaticBinder ユーティリティー

アノテーション付きメソッド・プログラミング・スタイルと DB2® データベースを使用しているのであれば、pureQuery StaticBinder ユーティリティーを使用して、アノテーション付きメソッド内の SQL ステートメントをそのデータ・ソースにバインドできます。 また、StaticBinder ユーティリティーを使用して DBRM ファイルを生成することもできます。

図で使用される規則を理解するには、構文図の読み方を参照してください。

概説

静的に DB2 パッケージにバインドされる、組み込み SQL を使用するアプリケーションは、パフォーマンス、信頼性、セキュリティー、モニター機能、および管理の点で最初から優れています。

StaticBinder ユーティリティーを実行する前に、pureQuery Generator ユーティリティーを実行して、バインドする SQL ステートメントが含まれるインターフェースのインプリメンテーション・クラスを生成します。pureQuery Generator ユーティリティーを実行すると、静的 DB2 パッケージを作成するために必要なすべての情報が収集されて、生成されたインプリメンテーション・クラスに格納されます。この情報には、SQL ステートメントに関する情報と、適用可能なすべてのデータ型についての情報が、Java クラス定義からと、ターゲット・データベースの列またはパラメーター・メタデータからの両方について含まれています。またこの情報には、DB2 パッケージのルート・パッケージ名と、オプションとしてコレクション ID およびバージョンが含まれます。

StaticBinder ユーティリティーは、DB2 パッケージの作成とバインド時にインプリメンテーション・クラスからこの情報を読み取ります。StaticBinder ユーティリティーを実行する際に、読み取り元のインプリメンテーション・クラス、またはそうしたクラスに対応するインターフェースをコマンド行から指定できます。オプション・ファイルを使用する場合、1 つ以上のインターフェースを指定できます。StaticBinder ユーティリティーは、対応するインプリメンテーション・クラスから情報を読み取ります。

デフォルトでは、pureQuery StaticBinder ユーティリティーは、 4 つのパッケージまたは DBRM ファイルを作成します (DB2 分離レベルごとに 1 つ)。 pureQuery StaticBinder ユーティリティーでは、パッケージまたは DBRM ファイルのルート名に以下の数字を付加することで分離レベルが識別されます。
1
分離レベル非コミット読み取り (UR) の場合
2
分離レベルカーソル固定 (CS) の場合
3
分離レベル読み取り固定 (RS) の場合
4
分離レベル反復可能読み取り (RR) の場合

ただし、ジェネレーター・ユーティリティーの実行時に -forceSingleBindIsolation オプションを使用した場合には、分離レベルの数字は、作成されたパッケージの名前に付加されません。

バインドの実行時に -isolationLevel オプションを使用した場合、 またはバインド・オプション・ストリングで分離レベルを指定した場合には、指定した分離レベルのパッケージまたは DBRM ファイルのみが作成されます。 名前は、4 つのすべての分離レベルでパッケージまたは DBRM ファイルを作成するときに StaticBinder が使用する規則に従います。

オプション・ファイルの使用

オプション・ファイルは、pureQuery StaticBinder ユーティリティーで処理する単一または複数のインターフェース、およびインターフェースを処理する方法を StaticBinder ユーティリティーに指示するオプションをリストします。 オプション・ファイルにリストしたすべてのインターフェースに適用するデフォルト・オプションを設定できます。 また、デフォルト・オプションをオーバーライドするためにインターフェースのオプションを設定したり、個々のインターフェースに固有の他のオプションを設定したりすることもできます。

StaticBinder ユーティリティーを実行するコマンドでは、-optionsFile オプションを指定して、使用するファイルを指定できます。

例えば、pureQuery StaticBinder ユーティリティーの単純なオプション・ファイルは以下のようになります。
defaultOptions = -bindOptions "QUALIFIER qual1" -url jdbc:db2://SRVR01:50000/DB01 -username user01 -password pass01
com.myCompany.MyInterfaceA = -bindOptions "QUALIFIER qual2"
com.myCompany.MyInterfaceB
com.myCompany.MyInterfaceC = -url jdbc:db2://SRVR01:50001/DB02 -username user02 -password pass02
この例の defaultOptions から始まる行では、 DB2 パッケージの修飾子が指定されるとともに、デフォルト接続 URL が設定されています。 次の行では、デフォルト修飾子をオーバーライドする修飾子が指定されたインターフェースが指定されています。 その次の行では、すべてのデフォルト・オプションが適用されるインターフェースが指定されています。 最後の行では、別のデータベースにバインドするインターフェースが指定されています。
また、オプション・ファイルにはコメントを含めることもできます。その場合は、各コメント行を # 記号で開始します。 オプションのいずれかの値でこの記号を使用する必要がある場合には、以下に示すように、値を二重引用符で囲みます。
-pkgVersion "ver#1"
コマンド行から StaticBinder ユーティリティーを実行して、 オプション・ファイルを使用した場合には、pureQuery は以下の順序の優先順位でオプションを認識します。
  1. コマンド行のオプション
  2. 指定されたオプション・ファイル内の個々のインターフェースのオプション
  3. 指定されたオプション・ファイルのデフォルト・オプション

許可

ユーティリティーを起動するユーザーの特権セットには、以下のいずれかの権限が含まれていなければなりません。
  • SYSADM 権限
  • DBADM 権限
  • パッケージが存在しない場合には、BINDADD 特権に加え、以下のいずれかの特権。
    • CREATEIN 特権
    • DB2 for z/OS®: 対象となるコレクションまたはすべてのコレクションに対する PACKADM 権限
    • DB2 Database for Linux, UNIX, and Windows: パッケージのスキーマ名が存在しない場合には、データベースに対する IMPLICIT_SCHEMA 権限
  • パッケージが存在する場合には、以下の特権。
    • DB2 for z/OS: パッケージに対する BIND 特権
    • DB2 Database for Linux, UNIX, and Windows: スキーマに対する ALTERIN 特権およびパッケージに対する BIND 特権
また、ユーザーには、アプリケーションで静的 SQL ステートメントをコンパイルするために必要なすべての特権が必要です。 グループに付与される特権は、静的ステートメントの許可検査では使用されません。

DB2 Database for Linux, UNIX, and Windows: ユーザーに SYSADM 権限があるものの、 バインドを完了するための明示特権がない場合、DB2 データベース・マネージャーは明示的な DBADM 権限を自動的に付与します。

アーカイブからバインドする場合に StaticBinder ユーティリティーを実行するためのコマンドの構文

このコマンドを使用すると、アプリケーションが含まれているアーカイブに対して StaticBinder ユーティリティーを実行できます。 アーカイブは StaticBinder ユーティリティーに提供するインターフェースとインプリメンテーション・クラスを含んでいる必要があります。インターフェースとインプリメンテーション・クラスをリストする、拡張子が .bindProps であるオプション・ファイルを使用します。

StaticBinder ユーティリティーは、指定したインターフェースまたはインプリメンテーション・クラスごとに 1 つのパッケージを作成します。Generator ユーティリティーを実行したときに rootPkgName オプションを使用しなかった場合は、各パッケージのルート名は次の 2 つのルート名のいずれかです。
  • データベースが長いパッケージ名をサポートしていない場合: 各パッケージのルート名は、対応するインターフェース名の最初の 7 文字です。2 つ以上のインターフェース名の最初の 7 文字が同じ場合には、そうしたインターフェースのうち 2 番目に作成されるパッケージが最初に作成されたパッケージをオーバーライドし、3 番目のインターフェースに作成されるパッケージが 2 番目に作成されたパッケージをオーバーライドするといった具合になります。
  • データベースが長いパッケージ名をサポートしている場合: 各パッケージのルート名は、対応するインターフェースのフルネームです。
構文図を読む構文図をスキップする
                                        (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-'                                

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

オプション・ファイルを使用しない場合に StaticBinder ユーティリティーを実行するためのコマンドの構文

このコマンドを使用すると、インターフェースまたはインプリメンテーション・クラスの名前を指定したり、DB2 パッケージまたは DBRM ファイルを作成するためのオプションを指定したりできます。

StaticBinder ユーティリティーは、指定したインターフェースまたはインプリメンテーション・クラスごとに 1 つのパッケージを作成します。Generator ユーティリティーを実行したときに -rootPkgName オプションを使用しなかった場合は、各パッケージのルート名は次の 2 つのルート名のいずれかです。
  • データベースが長いパッケージ名をサポートしていない場合: 各パッケージのルート名は、対応するインターフェース名の最初の 7 文字です。2 つ以上のインターフェース名の最初の 7 文字が同じ場合には、そうしたインターフェースのうち 2 番目に作成されるパッケージが最初に作成されたパッケージをオーバーライドし、3 番目のインターフェースに作成されるパッケージが 2 番目に作成されたパッケージをオーバーライドするといった具合になります。
  • データベースが長いパッケージ名をサポートしている場合: 各パッケージのルート名は、対応するインターフェースのフルネームです。
構文図を読む構文図をスキップする
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

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

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

>--+------------------------------------------------------------------------+-->
   |                  (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-'                                

                .------------------------.   
                V                        |   
>-- -interface----Java-package.interface-+---------------------><

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

オプション・ファイルを使用する場合に StaticBinder ユーティリティーを実行するためのコマンドの構文

以下のコマンドとオプション・ファイルを使用すると、インターフェース名を指定したり、こうしたそれぞれのインターフェースに基づく DB2 パッケージまたは DBRM ファイルを作成するためのオプションを指定したりできます。

重要: オプション・ファイルを使用しない場合にコマンド行でインプリメンテーション・クラスを指定することはできますが、オプション・ファイルを使用する場合にインプリメンテーション・クラスを指定することはできません。
構文図を読む構文図をスキップする
                                        (1)   
>>-java--com.ibm.pdq.tools.StaticBinder------------------------->

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

>--+-----------------------------------------------+------------>
   |              .------------------------------. |   
   |              V                              | |   
   '- -interface----Java-package.interface.class-+-'   

>-- -optionsFile--file-name--+-----------------------+---------->
                             |                   (2) |   
                             '-| Trace options |-----'   

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

注:
  1. オプションは任意の順序で指定できます。
  2. 構文については、以下のオプションの説明を参照してください。

StaticBinder ユーティリティーのオプション・ファイルにデフォルト・オプションを指定するための構文

この構文図は、オプション・ファイルにリストされているすべてのインターフェースに設定できるデフォルト・オプションを示しています。

構文図を読む構文図をスキップする
                     (1)   
>>-defaultOptions--=-------------------------------------------->

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

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

>--+----------------+--+--------------------------+------------->
   |            (4) |  '- -isolationLevel--+-CS-+-'   
   '-| -grant |-----'                      +-RR-+     
                                           +-RS-+     
                                           '-UR-'     

>--+-----------------------+-----------------------------------><
   |                   (5) |   
   '-| Trace options |-----'   

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

StaticBinder ユーティリティーのオプション・ファイルで個々のインターフェースのオプションを指定するための構文

この構文図は、オプション・ファイルにリストされている各インターフェースに設定できるオプションを示しています。

構文図を読む構文図をスキップする
                             (1)   
>>-Java-package.interface--=------------------------------------>

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

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

>--+----------------+--+--------------------------+------------><
   |            (4) |  '- -isolationLevel--+-CS-+-'   
   '-| -grant |-----'                      +-RR-+     
                                           +-RS-+     
                                           '-UR-'     

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

アプリケーションからの StaticBinder ユーティリティーの実行

アプリケーションの SQL ステートメントを DB2 パッケージに実行時にバインドするには、 com.ibm.pdq.tools.StaticBinder クラスの bind() メソッドを使用します。 このメソッドは、バインド操作が失敗すると値 FALSE を返し、バインド操作が正常に実行されると値 TRUE を返します。

このメソッドは 2 つのパラメーターを取ります。 最初のパラメーターは、引数を StaticBinder ユーティリティーに渡すためのストリング配列です。 2 番目のパラメーターは、StaticBinder ユーティリティーがメッセージおよび例外を出力する先の PrintWriter オブジェクトです。

bind() メソッドの呼び出し例を以下に示します。

StaticBinder binder = new StaticBinder ();
PrintWriter  out = new PrintWriter(
	  new FileWriter("BinderOutput.txt"));
String[] argsArray = {"-user","username","-password","password", 
	  "-url","JDBC-URL","-interface","interface-class"};
Boolean check=binder.bind(argsArray, out);

オプションの説明

-archive archive-file
このオプションは、アプリケーションをアーカイブ・ファイルで DB2 サーバーにデプロイしていて、 そのサーバーで StaticBinder を実行して SQL ステートメントをバインドする場合に使用します。 archive-file には、ご使用のアプリケーションを含むアーカイブを指定します。 アーカイブは StaticBinder ユーティリティーに提供するインターフェースとインプリメンテーション・クラスを含んでいる必要があります。インターフェースとインプリメンテーション・クラスをリストする、拡張子が .bindProps であるオプション・ファイルを使用します。 サポートされているアーカイブ・タイプは、.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 プリコンパイル・オプションおよびバインド・オプションと同じ機能があります。 DB2 for z/OS システムで実行するプログラムを作成している場合は、DB2 for z/OS のオプションを指定してください。 DB2 for Linux, UNIX, and Windows システムで実行するプログラムを作成している場合は、DB2 for Linux, UNIX, and Windows のオプションを指定してください。

ストリングの構文は、"option_1 value_1 option_2 value_2" です。

これらのオプションのリストおよび説明については、BIND コマンドを参照してください。
pureQuery コードにおいて、REOPT バインド・オプションが役立つ場合があります。このオプションを使用すると、 SQL ステートメントでパラメーター・マーカーを使用しながら、DB2 アクセス・パスを最適化できます。 サポートされる DB2 データベースでのこのオプションの使用については、以下のリンクを参照してください。
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 ファイルを生成するためのオプションを記述しています。

構文図を読む構文図をスキップする
>>- -generateDBRM--+-TRUE--+-- -outputDBRMPath--path-----------><
                   '-FALSE-'                           

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

生成された DBRM ファイルのルート名は、ジェネレーター・ユーティリティーの実行時に指定したルート・パッケージ名です。 この名前が 7 文字より長い場合には、StaticBinder ユーティリティーは例外をスローします。

-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 オプションは使用できません。

-interface java-package.interface-class
DB2 パッケージにバインドする SQL ステートメントが入った、 インプリメンテーション・クラスを pureQuery ジェネレーター・ユーティリティーが生成したインターフェースの名前。 名前には、このクラスが置かれている Java パッケージを含める必要があります。pureQuery StaticBinder ユーティリティーは、 インターフェースの名前と接尾部 Impl を組み合わせて、使用するインプリメンテーション・クラスを判別します。
StaticBinder ユーティリティーが次の 2 つのアクションを取るようにする場合は、-optionsFile とともに -interface を使用することができます。
  • 指定されたインターフェース内にある SQL ステートメントのみをバインドします。
  • コマンド行のオプションを、指定されたインターフェースのオプション・ファイル内のオプションと結合します。

オプション・ファイルにインターフェースの項目が入っていない場合、StaticBinder ユーティリティーはコマンド行にあるバインド・オプションおよびオプション・ファイル内の defaultOptions 項目にあるバインド・オプションを使用します。

-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 を加えます。
Java-package.interface (オプション・ファイルの行の先頭で)
指定したインターフェースに入っている SQL ステートメントにのみこの行のオプションが適用されることを指定します。 これらのオプションは、デフォルトとして指定したオプションをオーバーライドします。
インターフェースの名前は、インターフェースが所属する Java パッケージの名前で修飾する必要があります。
-optionsFile file-name
バインドする SQL ステートメントが入っているインターフェースをリストするファイルの名前 (絶対パスまたは相対パスを含む)。
-password password
データ・ソースに接続するために使用するパスワード。
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。
-username user-ID
データ・ソースに接続するために使用するユーザー ID。
-verifyPackages DETAIL|SUMMARY
インターフェースまたはインプリメンテーション・クラスに関連付けられた SQL ステートメント用に存在するパッケージおよび存在しないパッケージのレポートを StaticBinder ユーティリティーで生成するかどうかを指定します。 このオプションを使用した場合に、StaticBinder ユーティリティーはパッケージをバインドしません。

例えば、表 ORDERS を照会および更新するメソッドを宣言する OrdersData という名前のインターフェースに対してジェネレーター・ユーティリティーを実行したとします。 ジェネレーター・ユーティリティーは、インプリメンテーション・クラス OrdersDataImpl を作成するものとします。

このユーティリティーを実行したときに、 -collection、-pkgVersion、および -rootPkgName オプションの値を指定し、ユーティリティーがインプリメンテーション・クラスにこれらの値を保管しました。 このクラスの名前を指定して StaticBinder ユーティリティーを実行します。ユーティリティーによって DB2 パッケージが作成されます。

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

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

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

-verifyPackages オプションは、インプリメンテーション・クラスを生成して、そのクラスまたは関連インターフェースに対して StaticBinder ユーティリティーを実行した後に、 そのインターフェースに対して再度ジェネレーター・ユーティリティーを実行して -collection、-pkgVersion、および -rootPkgName に別の値を指定していないことを前提に機能します。

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

DETAIL
-collection、-pkgVersion、および -rootPkgName の値に基づいた、以下の情報を説明するレポートを生成します。
  • 存在しないパッケージ。
  • 存在するパッケージ。レポートは、パッケージごとに名前、整合性トークン、タイム・スタンプ、および分離レベルをリストします。
  • 存在または存在しないパッケージの数。
SUMMARY
-collection、-pkgVersion、および -rootPkgName の値が与えられると、存在するパッケージおよび存在しないパッケージを列挙するレポートを生成します。

フィードバック