pureQueryXML ファイルの構成およびバインドに関する推奨情報

pureQuery クライアント最適化により静的に実行する SQL ステートメントを準備する場合、pureQuery Configure ユーティリティーおよび StaticBinder ユーティリティーと共に次の推奨オプションを使用します。

Configure ユーティリティーのオプション

以下のリストに、Configure ユーティリティーを使用した pureQueryXML ファイルの処理に関する推奨情報を示します。
  • 完全なキャプチャーを実行する場合は、-cleanConfigure オプションを指定して pureQuery Configure ユーティリティーを使用します。
  • バインド操作時に使用されるコレクション ID を把握している場合は、-collection オプションを使用して、構成操作時にコレクションを設定します。
  • キャプチャーされた SQL ステートメントとともに記録された特殊レジスター情報に基づいて SQL ステートメントをグループ化するには、-groupSQLBySpecialRegisters オプションを使用します。 特殊レジスターの設定に基づいてバインド・オプションが組み込まれる StaticBinder オプション・ファイルを生成するには、-optionsFileForBind オプションを使用します。
  • 記録された SQL SET ステートメントまたはメソッドに関する警告が出された場合には、予期したとおりにアプリケーションが実行されていない可能性があります。 SET ステートメントまたはメソッドは、アプリケーションが動的にステートメントを実行する場合に、いくつかの SQL ステートメントの動作に影響を与える可能性があります。 SET ステートメントまたはメソッドは、アプリケーションが DB2® データベースで静的にステートメントを実行する場合には、同じ SQL ステートメントの動作に影響を与えない可能性があります。 たとえば、Configure ユーティリティーによって次のような警告が生成されるとします。
    警告: pureQueryXML ファイルには、関連する Connection を使用して他の SQL ステートメントが発行された後に記録された n Special Register SET ステートメントまたはメソッドが含まれています。これは、最初に複数の異なる特殊レジスター設定を使用して準備された SQL ステートメントがこのファイルに含まれていることを示す場合があります。

    例えば、SQL SET ステートメントを使用して、特殊レジスター CURRENT SCHEMA の値を変更することができます。アプリケーションでは、SQL ステートメントを動的に実行するときに、特殊レジスター CURRENT SCHEMA を使用してデータベース・スキーマを制御することができます。 アプリケーションは、修飾されていない表名を含む SQL ステートメントを実行します。 アプリケーションは、いくつかの SQL ステートメントを実行する前に、SET メソッドを実行して特殊レジスター CURRENT SCHEMA の値を WEEK1_SALES に変更します。 その他のステートメントの場合、アプリケーションはこの値を WEEK5_SALES に設定してから各ステートメントを実行します。

    これらの SQL ステートメントを静的に実行する場合は、パッケージをデータベースにバインドするときに、バインド・オプション QUALIFER を指定してデータベース・スキーマを制御します。 特殊レジスター CURRENT SCHEMA の値は、静的に実行される SQL ステートメントには影響を与えません。

    pureQueryXML ファイルを構成するときに、Configure ユーティリティー・オプションを指定してステートメント・セットとバインド・オプションを作成し、SQL ステートメントが、静的に実行される場合に正しく実行されるようにすることができます。
    • SQL ステートメントのキャプチャー時に記録された特殊レジスター情報に基づいて SQL ステートメントをグループ化するには、-groupSQLBySpecialRegisters オプションを指定します。 pureQueryXML ファイルの構成時には、特殊レジスター CURRENT_SCHEMA の値を WEEK1_SALES に設定して実行された SQL ステートメントは、この値を WEEK5_SALES に設定して実行された SQL ステートメントとは異なるステートメント・セットに収められます。
    • 記録された特殊レジスターの設定に基づいてステートメント・セットのバインド・オプションが組み込まれる StaticBinder オプション・ファイルを生成するには、-optionsFileForBind オプションを使用します。 pureQueryXML ファイルの構成時には、このユーティリティーは、CURRENT_SCHEMA の値を WEEK1_SCHEMA に設定して実行された SQL ステートメントが組み込まれるステートメント・セットに関して、バインド・オプション QUALIFIER(WEEK1_SCHEMA) を生成します。 このユーティリティーは、この値を WEEK5_SCHEMA に設定して実行された SQL ステートメントが組み込まれるステートメント・セットに関して、バインド・オプション QUALIFIER(WEEK5_SCHEMA) を生成します。

    Configure ユーティリティーは、両方の特殊レジスター値を使用して実行されるすべての SQL ステートメントを、別個のステートメント・セットにグループ化します。 isBindable 属性を false に設定することにより、これらのステートメントが組み込まれているステートメント・セットが静的に実行されないように指定することができます。

pureQueryXML ファイルからのパッケージのバインド

特定の分離レベルでのみパッケージをバインドする必要がある場合は、StaticBinder の -isolationLevel オプションを使用して、分離レベルを指定します。

デフォルトでは、StaticBinder ユーティリティーは、UR、CS、RS、および RR の 4 つの分離レベル用にパッケージを作成します。 アプリケーションで複数のレベルが使用される場合、-isolationLevel オプションを使用して、必要な分離レベルのみを指定してください。 アプリケーションで 1 つの分離レベルのみが使用される場合、構成時に Configure ユーティリティーのオプション -forceSingleBindIsolation を指定することができます。 その後で、StaticBinder ユーティリティーの実行時に適切な分離レベルを指定します。 -forceSingleBindIsolation オプションを指定すると、作成されたパッケージの名前には分離レベルの数が付加されません。

pureQueryXML ファイルの妥当性検査

pureQueryXML ファイルに問題が発生した場合は、pureQuery ユーティリティーの Merge、Configure、および StaticBinder と共に -validateXml TRUE オプションを指定することにより、pureQueryXml ファイルの妥当性を検査できます。 ユーティリティーを実行すると、XML 妥当性検査エラーがあれば表示されます。 ユーティリティーは、pureQueryXML スキーマを使用して、入力 XML 文書の妥当性を検査します。

推奨: pureQueryXML ファイルの編集はワークベンチを使用してのみ行うことを IBM® は強くお勧めします。 ワークベンチ以外で pureQueryXML ファイルを編集した場合には、ファイルが使用できなくなるリスクがあります。

pureQueryXML ファイルを手動で編集する場合は、最初にファイルのバックアップ・コピーを作成するようにしてください。 pureQuery の Merge、Configure、および StaticBinder のユーティリティーと共に -validateXml オプションを使用すると、入力 pureQueryXML ファイルに対する XML スキーマの妥当性検査を実行します。


フィードバック