DB2® パッケージへの SQL ステートメントのバインド方法を決定するオプションを指定するには、Default.bindProps ファイルを使用します。
このファイルでは、プロジェクト内のすべてのインターフェースに適用されるオプションを指定できます。個々のインターフェースに固有のオプションも指定できます。
このファイルにはコメントを追加できます。
各コメントの先頭には # 記号を付けます。
項目を作成または編集するときに支援が必要な場合は、CTRL+SPACE キー (このデフォルトのキー・ストロークを変更した場合には独自のキー・ストローク) を押すことができます。
構文図を理解する上で役立つ情報については、構文図の読み方を参照してください。
以下の図は、このファイル内のデフォルト・オプションの設定に使用できる構文を示しています。

>>-defaultOptions--=--+- -bindOptions-- -"--bind-options--"-+--->
| (1) |
'-| DBRM options |--------------------'
>--+----------------+--+--------------------------+------------->
| (2) | '- -isolationLevel--+-CS-+-'
'-| -grant |-----' +-RR-+
+-RS-+
'-UR-'
>--+-----------------------+-----------------------------------><
| (3) |
'-| Trace options |-----'
注:
- 構文については、以下のオプションの説明を参照してください。
- 構文については、このオプションの説明を参照してください。
- 構文については、以下のオプションの説明を参照してください。
次の構文図は、このファイルでリストされた個々のインターフェースに対するオプションの設定で許可される構文を示します。

>>-Java-package.interface--=------------------------------------>
>--+- -bindOptions-- -"--bind-options--"-+---------------------->
| (1) |
'-| DBRM options |--------------------'
>--+----------------+--+--------------------------+------------><
| (2) | '- -isolationLevel--+-CS-+-'
'-| -grant |-----' +-RR-+
+-RS-+
'-UR-'
注:
- 構文については、以下のオプションの説明を参照してください。
- 構文については、このオプションの説明を参照してください。
- defaultOptions
- このファイルにリストされているすべてのインターフェースに入っている SQL ステートメントにこの行のオプションが適用されることを指定します。
このキーワードで始めることができるのは、ファイル内で 1 行だけです。
- Java-package.interface (オプション・ファイルの行の先頭で)
- 指定したインターフェースに入っている SQL ステートメントにのみこの行のオプションが適用されることを指定します。
これらのオプションは、デフォルトとして指定したオプションをオーバーライドします。
- インターフェースの名前は、インターフェースが所属する Java パッケージの名前で修飾する必要があります。
- -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 ファイルを生成するかどうかを指定します。
generateDBRM が TRUE である場合には、
デフォルトでは、StaticBinder ユーティリティーによって、CS、RR、RS、UR の各分離レベルごとに 1 つずつ、合計 4 つの DBRM ファイルが生成されます。
ただし、-isolationLevel オプションを指定した場合には、DBRM ファイルは 1 つしか生成できません。
生成された DBRM ファイルのルート名は、ジェネレーター・ユーティリティーの実行時に指定したルート・パッケージ名です。
この名前が 7 文字より長い場合には、StaticBinder ユーティリティーは例外をスローします。
- -outputDBRMPath path
- 生成された DBRM ファイルを保存するディレクトリーを指定します。デフォルト値は、StaticBinder ユーティリティーの実行元のディレクトリーです。
- -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 を加えます。
- StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 1 を加えます。
- CS
- 分離レベルとしてカーソル固定を指定します。
- StaticBinder ユーティリティーは、ジェネレーター・ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 2 を加えます。
- StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 2 を加えます。
- RS
- 分離レベルとして読み取り固定を指定します。
読み取り固定では、アプリケーションによって読み取りおよび変更される行に関し、パッケージ内の SQL ステートメントの実行が、他のアプリケーション・プロセスから確実に分離されます。
- StaticBinder ユーティリティーは、ジェネレーター・ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 3 を加えます。
- StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 3 を加えます。
- RR
- 分離レベルとして反復可能読み取りを指定します。
- StaticBinder ユーティリティーは、ジェネレーター・ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 4 を加えます。
- StaticBinder ユーティリティーは、構成ユーティリティーを実行したときに -forceSingleBindIsolation オプションを使用していない限り、作成されたパッケージまたは DBRM ファイルの名前に 4 を加えます。