capturedOnly プロパティー

pureQueryXML ファイル内に存在する SQL ステートメントのみを実行するようにするかどうかを指定します。

アプリケーションで使用する pureQueryXML ファイルの作成後、このプロパティーを TRUE に設定できます。SQL ステートメントのキャプチャー中に、このプロパティーを TRUE に設定することはできません。

このプロパティーには、以下の値を指定できます。

TRUE
アプリケーションは、pureQueryXML ファイル内に存在する SQL ステートメントのみを実行します。
FALSE
アプリケーションは、pureQueryXML ファイル内に存在しないものも含めて、すべての SQL ステートメントを実行します。
これはデフォルト値です。
注: capturedOnly プロパティーが TRUE に設定されている場合、 特殊レジスターを設定する SET ステートメント、または特殊レジスターの設定に影響を与える JDBC 接続メソッドは、pureQuery Runtime の制約を受けません。 ステートメントは、pureQueryXML ファイル内に含まれるステートメントかどうかに関係なく、常に許可されます。
オプティミスティック・ロックを使用して実行される SQL ステートメントは、静的には実行できません。 そのため、pureQuery Runtime は、オプティミスティック・ロックを使用して実行されたステートメントをキャプチャーしません。 このようなステートメントは、pureQuery Runtime オプション allowDynamicSQLcapturedOnly の影響を受けません。 オプティミスティック・ロックを有効にするには、次のようにします。

DB2Connection.prepareDB2OptimisticLockingQuery
DB2Statement.executeDB2OptimisticLockingQuery

以下の表で、capturedOnlyexecutionMode、および allowDynamicSQL の組み合わせと、結果として実行される操作を示します。

表 1. capturedOnly、executionMode、および allowDynamicSQL の組み合わせと、発生する操作:
capturedOnly executionMode allowDynamicSQL SQL ステートメントの突き合わせ 結果
TRUE STATIC TRUE あり isBindable = True、SQL ステートメントを静的に実行する

isBindable = False、SQL ステートメントを動的に実行する

TRUE STATIC/DYNAMIC TRUE/FALSE なし エラーを返す
TRUE STATIC FALSE あり isBindable = True、SQL ステートメントを静的に実行する

isBindable = False、エラーを返す

TRUE DYNAMIC TRUE/FALSE あり SQL ステートメントを実行する
FALSE STATIC TRUE あり isBindable = True、SQL ステートメントを静的に実行する

isBindable = False、SQL ステートメントを動的に実行する

FALSE STATIC TRUE なし SQL ステートメントを動的に実行する
FALSE STATIC FALSE あり isBindable = True、SQL ステートメントを静的に実行する

isBindable = False、エラーを返す

FALSE STATIC FALSE なし エラーを返す
FALSE DYNAMIC TRUE/FALSE あり/なし SQL ステートメントを実行する

DB2 CLI および IBM Data Server Driver の使用上の注意

DB2® コール・レベル・インターフェースまたは IBM® Data Server Driver と pureQuery Runtime を一緒に使用する場合は、pureQuery Runtime プロパティーを構成キーワードとして使用できます。

IBM CLI キーワードの構文
capturedOnly = TRUE | FALSE
IBM Data Server Driver 構成の構文
< パラメーター名="capturedOnly" 値="TRUE | FALSE" />
同等の IBM Data Server Provider for .NET 接続ストリング・キーワード
該当なし

使用上の注意

pureQuery クライアント最適化対応の CLI アプリケーションに対して キーワード capturedOnly=TRUE が設定されている場合、statementType SET_METHOD が指定されたステートメントは、pureQueryXML ファイル内に 存在しないときは pureQuery Runtime の制約を受けます。


フィードバック