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

(1)
>>-defaultOptions--=-------------------------------------------->
>--+---------------------------------------------------------------------------------------------------------------------+-->
| (2) (3) |
'------------- -url--jdbc--:--db2--:--//--server--+---------+--/--database-- -username--user-ID-- -password--password-'
'-:--port-'
>--+-----------------------------------------+------------------>
'-+- -bindOptions-- -"--bind-options--"-+-'
| (4) |
'-| DBRM options |--------------------'
>--+-----------------------------+--+----------------+---------->
| .-FALSE-. | | (5) |
'- -differenceOnly--+-TRUE--+-' '-| -grant |-----'
>--+--------------------------+--+--------------------------+--->
'- -isolationLevel--+-CS-+-' | .-FALSE-. |
+-RR-+ '- -showDetails--+-TRUE--+-'
+-RS-+
'-UR-'
.-NOT_SET------.
>-- -statementBindError--+-REMOVE-------+----------------------->
'-MARK_INVALID-'
>--+-----------------------+--+--------------------------+-----><
| (6) | | .-FALSE-. |
'-| Trace options |-----' '- -validateXml--+-TRUE--+-'
注:
- オプションは任意の順序で指定できます。
- -bindOptions オプションの使用時に URL、ユーザー ID、およびパスワードを指定しない場合は、
コマンド行で、または個々の pureQueryXML ファイルの項目内に、URL、ユーザー ID、およびパスワードを指定する必要があります。
- DBRM ファイルのみを作成している場合には、-url、-username-、および -password オプションは使用する必要はありません。
- 構文については、以下のオプションの説明を参照してください。
- 構文については、このオプションの説明を参照してください。
- 構文については、以下のオプションの説明を参照してください。
オプションの説明
- -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 ファイルを生成するかどうかを指定します。
generateDBRM が TRUE である場合には、
デフォルトでは、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 です。
- -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) に変更された場合は、そのステートメントは無効ではありません。
- 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。
- -validateXml TRUE|FALSE
- pureQueryXML スキーマを使用する入力 pureQueryXML ファイルに対して XML スキーマの妥当性検査を実行するかどうかを指定します。この値が TRUE の場合、妥当性検査が実行されます。値が FALSE であるか、このオプションが指定されていない場合は、妥当性検査は実行されません。
入力ファイルごとに XML スキーマの妥当性検査の成功または失敗が確認され、報告されます。妥当性検査に失敗した入力ファイルがあっても、StaticBinder 処理は停止せず、次のファイルが処理されます。
pureQueryXML ファイルのスキーマの妥当性検査が失敗した場合は、そのファイル内のパッケージはバインドされません。ファイルの最初のスキーマの妥当性検査エラーおよびバインドの失敗が報告されます。
現行リリースまたは前のバージョンの pureQueryXML ファイル (バージョン 4 または 3) でのみ検証されます。
それよりも古いバージョンの pureQueryXML が検出された場合、そのファイルでは妥当性検査が実行されません。