executionMode プロパティー

以前に pureQuery Runtime によって取り込まれて保管された SQL ステートメントを静的に実行するかどうかを指定します。 キャプチャーした SQL ステートメントは、pureQueryXML ファイル、またはデータベース内に作成されたリポジトリーのいずれかに保管されます。

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

STATIC
各 SQL ステートメントを実行する準備が整うと、pureQuery は、そのステートメントが、取り込まれた SQL ステートメントと一致するかどうかを判別します。一致するステートメントが見つかると、そのステートメントは静的に実行されます。
pureQuery が一致する SQL ステートメントを検出しなかった場合、または一致するがバインドされていないステートメントを検出した場合、pureQuery の動作は、allowDynamicSQL プロパティーおよび capturedOnly プロパティーの値によって異なります。プロパティーの説明を参照してください。
DYNAMIC
現行の Connection オブジェクトに対して発行される SQL ステートメントはすべて、動的に実行されます。
DYNAMIC がデフォルト値です。

以下の表で、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 キーワードの構文
executionMode = STATIC | DYNAMIC
IBM Data Server Driver 構成の構文
<パラメーター名="executionMode" 値="STATIC | DYNAMIC" />
同等の IBM Data Server Provider for .NET 接続ストリング・キーワード
該当なし

使用上の注意

pureQuery クライアントの最適化により使用可能にされた CLI アプリケーションは、キャプチャーした SQL ステートメントを含むファイルを指定するための pureQueryXml キーワードのみをサポートしています。

名前付きパラメーター・マーカーを持つ Java アプリケーションを正常に機能させるためには、データ・サーバーのタイプおよびバージョンに関係なく、アプリケーション内で名前付きパラメーター・マーカーを使用する前に、Connection または DataSource のプロパティー enableNamedParameterMarkersDB2BaseDataSource.YES に設定してください。


フィードバック