pureQueryXML ファイル内の代替 SQL ステートメント、および対応する元のステートメントのどちらも StaticBinder ユーティリティーによってバインドされなかった場合に、それらの代替ステートメントを実行するかどうかを指定します。
pureQueryXML ファイルに SQL ステートメントを取り込んだ後に、アプリケーションで必要なパフォーマンスを下回っているステートメントが 1 つ以上見つかる場合があります。
ただし、開発サイクルの終盤にこの事実を見つけた場合には、アプリケーションの修正が可能ではないことがあります。
このような場合には、低パフォーマンスの各 SQL ステートメントの代替 SQL ステートメントを追加することで、pureQueryXML ファイルを編集できます。
アプリケーションの実行時、pureQuery は、最初にキャプチャーした SQL ステートメントでなく代替 SQL ステートメントを使用します。
代替 SQL ステートメントを追加後、それらをバインドするかどうかを選択できます。バインドはしていないものの、それらを使用する必要がある場合は、アプリケーションの実行時に enableDynamicSQLReplacement プロパティーを TRUE に設定する必要があります。
制約事項: - SQL ステートメントに指定されたパラメーター・マーカーが含まれる場合は、代替ステートメントに同数のパラメーター・マーカーが存在し、そのマーカーの順序が同じでなければなりません。
- 代替 SQL ステートメントは、同様のアクションを実行するステートメントを置き換える必要があります。
例えば、代替 SELECT ステートメントの結果セットは、元の SELECT ステートメントの結果セットと一致する必要があります。
- 異なる種類のステートメントを代替 SQL ステートメントにすることはできません。
例えば、SELECT ステートメントの代替ステートメントをプロシージャー呼び出しにすることはできません (そのプロシージャー呼び出しが同様のアクションを実行する場合でも)。
このプロパティーには、以下の値を指定できます。
- TRUE
- 代替 SQL ステートメントを実行するように指定します。
バインドされていないため、pureQuery は動的に実行します。
- FALSE
- 代替 SQL ステートメントを実行しないように指定します。
代わりに、pureQuery は、アプリケーションで使用される pureQueryXML ファイル内の元の SQL ステートメントを実行します。
- これはデフォルト値です。
以下のリストで、pureQuery Runtime が代替 SQL ステートメントを実行するかどうかを説明します。
- executionMode が DYNAMIC の場合、実行される SQL ステートメントは enableDynamicSQLReplacement プロパティーの値によって異なります。
- executionMode が STATIC の場合:
DB2 CLI および IBM Data Server Driver の使用上の注意
DB2® コール・レベル・インターフェースまたは IBM® Data Server Driver と pureQuery Runtime を一緒に使用する場合は、pureQuery Runtime プロパティーを構成キーワードとして使用できます。
- IBM CLI キーワードの構文
- enableDynamicSQLReplacement = TRUE | FALSE
- IBM Data Server Driver 構成の構文
- <パラメーター名="enableDynamicSQLReplacement" 値="TRUE | FALSE" />
- 同等の IBM Data Server
Provider for .NET 接続ストリング・キーワード
- enableDynamicSQLReplacement = TRUE | FALSE