Configure ユーティリティーによって作成される StaticBinder オプション・ファイル

pureQueryXML ファイルの StaticBinder オプション・ファイルを作成するには、Configure のオプション -groupSQLBySpecialRegisters および -optionsFileForBind を使用します。 このファイル内のバインド・オプションおよびその他の情報により、バインド・オプション・セットを指定することができます。それにより、SQL ステートメントが DB2® データベースで静的に実行されます。その動作は、アプリケーションから発行され、動的に実行された場合と同様です。

-groupSQLBySpecialRegisters オプションを指定すると、Configure ユーティリティーは、SQL ステートメントのキャプチャー時に記録された特殊レジスター情報に基づいて pureQueryXML ファイル内の SQL ステートメントをグループ化し、ステートメント・セットにします。 記録された特殊レジスター設定値は、SQL ステートメントの動作に影響する可能性がある設定値です。

-optionsFileForBind を指定すると、Configure ユーティリティーは StaticBinder オプション・ファイルを生成し、SQL ステートメントのキャプチャー時に記録された特殊レジスター設定値に基づくステートメント・セットに対してバインド・オプション・セットを生成しようとします。 ステートメント・セット内のステートメントが単一の特殊レジスター値セットに従ってグループ化されている場合、Configure ユーティリティーは単一のバインド・オプション・セットを生成します。 ステートメント・セットが複数の特殊レジスター値セットに基づいてグループ化されている場合、このユーティリティーは、各特殊レジスター・セットのバインド・オプション・セットが含まれたコメントを作成します。 このユーティリティーはまた、pureQueryXML ファイル内のステートメント・セット、SQL ステートメント、および特殊レジスター情報に関する情報および警告が含まれたコメントも追加します。

バインド・オプションは、パッケージを DB2 データベースにバインドして、SQL ステートメントを静的に実行する場合に必要になることがあります。 SQL ステートメントを静的に実行する際に、動的に実行する場合と同様の動作をさせるためにバインド・オプションが必要になることがあります。

生成されたバインド・オプションを StaticBinder ユーティリティーとともに使用する前に、それらのバインド・オプションを確認してください。 必要に応じて、静的に実行する際に SQL ステートメントが正しい動作をするように、ご使用の環境に合わせてバインド・オプションを変更してください。

場合により、ステートメント・セットに対してバインド・オプション・セットを指定できないことがあります。 StaticBinder ユーティリティーによるバインド操作を実行しないように指定することができます。 pureQueryXML ファイルで、ステートメント・セットの XML 属性 isBindable の値を false に変更し、再度 pureQueryXML ファイルを構成します。 isBindable 属性およびその変更方法については、pureQueryXML ファイルの XML 属性 isBindable を参照してください。

StaticBinder オプション・ファイルの形式

Configure ユーティリティーによって生成されるファイルは、pureQuery StaticBinder ユーティリティー・オプション・ファイル形式です。 Configure ユーティリティーによって生成されるオプション・ファイルは、コメント、defaultOptions 項目、およびバインディング・ステートメント・セットの項目から構成されています。

コメント
コメントの先頭には # 記号が付いています。 # 記号からその行の最後までのテキストを StaticBinder ユーティリティーは無視します。 Configure ユーティリティーは、項目行にコメントを付加するか、独立したコメント行を作成します。

コメントには、警告や情報のほか、バインド・オプション・セットも含まれていることがあります。 コメント内の情報については、Configure ユーティリティーによって生成されるコメントを参照してください。

defaultOptions 項目
オプション・ファイルにリストしたすべての pureQueryXML ファイルのバインド・オプションを示します。 defaultsOptions 項目は以下のテキストから始まります。
defaultOptions = 

Configure ユーティリティーが defaultOptions 項目にバインド・オプションを追加するのは、-groupSQLBySpecialRegisters が指定されておらず、どのステートメント・セットも特殊レジスター情報に基づいてグループ化されなかった場合のみです。

Configure ユーティリティーはバインド・オプションを生成するほか、追加情報が記載されたコメントを追加することがあります。 接続 URL や分離レベルなど、他の項目オプションを追加できます。 defaultOptions 項目については、このトピックの最後にある『クライアント最適化のための StaticBinder ユーティリティーのオプション・ファイル内のデフォルト・オプションに関する構文』へのリンクを参照してください。

以下の defaultOptions 項目の例では、すべての SQL ステートメントが単一の特殊レジスター値セットを使用しています。 この項目が複数行に分かれているのは、読みやすさを考慮したためです。
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
   ROUNDING(HALFEVEN) DEC(15)" 
   # WARNING: [specialRegValueId(C:¥myDir¥capture.pdqxml:4) 
   minimumDivideScale(8) SQLID(ADMF003)]
# 文字の前にあるテキストが defaultOptions 項目です。
defaultOptions = -bindOptions "QUALIFIER(SCHM4) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM)
   ROUNDING(HALFEVEN) DEC(15)"
# の後にあるテキストは、その行のコメント・テキストです。 この項目の例のコメントには、警告トークンが含まれています。
# WARNING: [specialRegValueId(C:¥myDir¥capture.pdqxml:4) minimumDivideScale(8) SQLID(ADMF003)]
以下の defaultOptions 項目の例には、コメントのみが含まれています。
defaultOptions = # WARNING: SQLGroupedBySpecialRegisters(NOT_GROUPED)
ステートメント・セットのバインド・オプション

以下の形式は、ステートメント・セットのバインド・オプションを示します。

pureQueryXML-file:base-package-name=bind-options

Configure ユーティリティーによって生成される項目には、ステートメント・セット情報およびバインド・オプションのみが含まれています。 他のオプションを追加できます。 この項目には、ステートメント・セットに関する追加情報および警告が記載されたコメントを含めることができます。

ステートメント・セットをバインドするための項目については、このトピックの最後にある『クライアント最適化のための StaticBinder ユーティリティーのオプション・ファイル内のデフォルト・オプションに関する構文』へのリンクを参照してください。

ステートメント・セットをバインドするための項目の例を、以下に示します。 この項目が複数行に分かれているのは、読みやすさを考慮したためです。

C:¥myDir¥capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" 
    # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)
# 文字の前にあるテキストが、pureQueryXML ファイル C:¥myDir¥capture.pdqxml 内のステートメント・セット MYRPN1K をバインドするための項目です。
C:¥myDir¥capture.pdqxml:MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
    ROUNDING(HALFEVEN) DEC(15)"
# の後にあるテキストは、その行のコメント・テキストです。 コメントには、このステートメント・セットに関連した警告および情報のトークンが含まれています。
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
INFO: configureStatus(FINAL) SQLGroupedByStrings(*NO_MATCH_FOUND*)

Configure ユーティリティーによって生成されるコメント

Configure ユーティリティーは、オプション・ファイル内の項目にコメントを付加するか、独立したコメント行を作成します。
  • 項目に付加されるコメントには、その項目に関する情報が含まれています。
  • 独立した 1 つのコメント行に、特殊レジスター値セットのバインド・オプション・セットがリストされています。
オプション・ファイルの項目にコメントが付加されている場合、それはその項目に固有のコメントです。 以下の項目の例では、項目にコメントが付加されています。 この項目が複数行に分かれているのは、読みやすさを考慮したためです。
MYRPN1K = -bindOptions "QUALIFIER(SCHM9) 
    FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) ROUNDING(HALFEVEN) DEC(15)" 
    # WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL) 
この項目の例のコメントにある大括弧で囲まれたトークンは、特殊レジスター値セットと関連付けられています。 この項目の例では、大括弧によって、minimumDivideScale(3) および UNTRACKED_SET という 2 つのトークンと、特殊レジスター値セット ID である 10 がグループ化されています。
# WARNING: [specialRegValueId(10) minimumDivideScale(3) UNTRACKED_SET] 
    INFO: configureStatus(FINAL)
大括弧で囲まれていないトークンは、ステートメント・セットに関するものです。 この項目の例には、ステートメント・セット MYRPN1K の構成状況が FINAL であることを示す情報トークンが 1 つ含まれています。
    INFO: configureStatus(FINAL)

Configure ユーティリティーがステートメント・セットに対するバインド・オプションを生成するのは、-groupSQLBySpecialRegisters が指定された場合、つまりステートメント・セットが特殊レジスター情報に基づいてグループ化された場合です。 Configure ユーティリティーがステートメント・セットに対するバインド・オプションを生成するのは、ステートメント・セットとともに単一の特殊レジスター値セットが記録された場合です。 ステートメント・セットに複数の特殊レジスター値セットが記録された場合、Configure ユーティリティーは、そのステートメント・セット内の SQL ステートメントとともに記録された特殊レジスター値セットに基づくバインド・オプションを含んだコメントを作成します。

以下のコメント行の例には、特殊レジスター値セットに基づいたバインド・オプションが含まれています。 このコメントが複数行に分かれているのは、読みやすさを考慮したためです。
#  -bindOptions "QUALIFIER(SCHM13) FUNCPATH(SYSIBM,SYSFUN,SYSPROC,SYSADM) 
       ROUNDING(HALFEVEN) DEC(15)" # WARNING: [specialRegValueId(3) UNTRACKED_SET]

このコメントのバインド・オプションは、pureQueryXML ファイル C:¥myDir¥capture.pdqxml 内にある、ID が 3 の特殊レジスター値セットに基づいています。 特殊レジスター値セット 3 に関して、pureQuery Runtime は、pureQuery がトラッキングする特殊レジスターに対する特殊レジスターの変更も検出しましたが、その値は記録されていません。

Staticbinder オプション・ファイル内のコメント・トークン

pureQuery Configure ユーティリティーによって作成される Staticbinder オプション・ファイルでは、ユーティリティーがバインド・オプションの後にコメントを追加します。 コメントには、情報メッセージまたは警告メッセージを表すトークンが含まれています。 WARNING: の後に続くトークンは、ステートメント・セット内の SQL ステートメントが静的実行時に正しく動作しない場合があることの理由です。 INFO: の後にあるトークンは情報です。

ステートメントに付加されたコメントに isBindable(FALSE) というトークンが含まれている場合は、INFO: ラベルのみが使用されます。 このトークンは、XML 属性 isBindable の値が false である場合にステートメント・セットに対してリストされます。 この値が false である場合、StaticBinder ユーティリティーはバインド処理の実行時にそのステートメント・セットを無視します。 ステートメント・セットがバインドされない場合、警告は不要です。

ステートメント・セットの XML 属性 isBindable の値が false である場合、Configure ユーティリティーで -bindOptions オプションおよび -configureWarning オプションは生成されません。 ただし、ステートメントのコメントにすべてのトークンが示されます。

isBindable 属性については、pureQueryXML ファイルの XML 属性 isBindable を参照してください。

ステートメント・セットのコメント・トークン

以下のトークンによって、ステートメント・セットに関する情報が提供されます。

configureStatus(FINAL)
情報トークンです。 pureQueryXML ファイルで、ステートメント・セットの XML 属性 configureStatus の値が FINAL になっています。 ステートメント・セットを処理する際、Configure ユーティリティーはステートメント・セットで検出したエラーを報告します。 このユーティリティーによってエラーの修正が試行されることはありません。

Configure ユーティリティー・オプション -setPostStatusOfAllPkgs を値 FINAL で指定した場合、このトークンは各ステートメント・セットに追加されません。 入力 pureQueryXML ファイル内のステートメント・セットに対する configureStatus 属性の値が FINAL である場合にのみ、このトークンがコメントとして追加されます。 -setPostStatusOfAllPkgs オプションは、構成後、すべてのステートメント・セットの configureStatus 属性を FINAL に設定します。

pureQueryXML ファイルを変更する場合は、configureStatus 属性の値を FINAL に設定したステートメント・セットに、変更による予想外の影響が出ないことを確認してください。

Configure ユーティリティーがステートメント・セットに関する警告トークンを生成した場合は、警告を無視することも、警告された内容の修正を試みることもできます。 データベースでバインドした既存のパッケージを保持する場合は、警告を無視します。 警告された内容の修正を試みる場合は、その特定の警告トークンに関する情報を参照してください。 警告された内容の修正を試みる場合、通常はステートメント・セットの構成が必要です。 ステートメント・セットを構成した後は、そのステートメント・セットと関連付けられたパッケージを StaticBinder ユーティリティーによって再バインドするまで、そのステートメント・セット内の SQL ステートメントを静的に実行することはできません。

incrementalSpecialRegValuesPresent
警告トークンです。 ステートメント・セットの属性 configureStatus が FINAL に設定されていて、そのセット内の 1 つ以上の SQL ステートメントについて、そのステートメントの XML 情報に incrementalSpecialRegValuesUsed 属性が含まれています。 incrementalSpecialRegValuesUsed 属性は、新しい特殊レジスター値セットが記録されたことを示します。 しかし、その新しい特殊レジスター値セットは、特殊レジスター設定値に従って SQL ステートメントがグループ化された際に考慮されませんでした。

Configure ユーティリティーは、ステートメント・セットのバインド・オプションに、値として INCREMENTAL_SPECIAL_REGISTER_VALUES_PRESENT を持つ -configureWarning オプションも追加します。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

ステートメント・セットの configureStatus が FINAL に設定されている場合にユーティリティーによるそのセットの構成を可能にするには、以下のいずれかの方法を使用します。
  • Configure ユーティリティーを実行する前に、IBM® Optim™ Development Studio の pureQueryXML エディターを使用して、configureStatus 属性を REQUIRED に変更する。
  • Configure ユーティリティーを実行する際に、値として REQUIRED または AUTO を持つ -setPreStatusOfAllPkgs オプションを追加する。 このオプションを使用した場合、pureQueryXML ファイル内のすべてのステートメント・セットが影響を受けます。 このオプションは、既存のどのステートメント・セットも保持する必要がない場合にのみ使用してください。
  • Configure ユーティリティーを実行する際に、値として TRUE を持つ -cleanConfigure オプションを追加する。 保持する必要のある既存ステートメント・セットがある場合、このオプションは使用しないでください。
注: configureStatus 属性の値を FINAL から変更する前に、ステートメント・セットに対して新規パッケージをバインドすることで、SQL ステートメントを静的に実行するアプリケーションに悪影響が出ないことを確認してください。 Configure ユーティリティーでステートメント・セットを変更すると、元のステートメント・セットに対して以前に作成されたパッケージを使用して SQL ステートメントを静的に実行することはできません。 StaticBinder ユーティリティーを実行して新規パッケージをバインドする必要があります。

Configure ユーティリティーを実行する際、-optionsFileForBind オプションを追加して新しいオプション・ファイルを生成します。 その新しいオプション・ファイルに警告がないことを確認してください。

isBindable(FALSE)
情報トークンです。 pureQueryXML ファイルで、ステートメント・セットの XML 属性 isBindable の値が false に設定されています。 StaticBinder ユーティリティーは、そのステートメント・セットに対してバインド操作を実行しません。
positionedUpdateSpecialRegValueId
警告トークンです。 ステートメント・セットには、位置指定 update ステートメントおよびそれらに関連付けられた SQL 照会が含まれています。 1 つ以上の位置指定 update ステートメントとともに記録された特殊レジスター値が、照会の特殊レジスター設定値と異なります。

SQL ステートメントを静的に実行する際、DB2 データベースでは、位置指定 update ステートメントが、そのステートメントに関連付けられた照会ステートメントと同じパッケージ内にあることが必要です。 関連付けられた照会が使用する特殊レジスター設定値と異なる設定値を使用して位置指定 update ステートメントを実行する必要がある場合は、両方の SQL ステートメントを動的に実行する必要があります。

ステートメント・セットに対するバインド・オプションを指定するには、以下の手順を実行します。
  1. ステートメント・セット内の SQL ステートメントを静的に実行する際に正しく動作するバインド・オプション・セットを作成します。
  2. オプション・ファイル内のステートメント・セットに対するバインド・オプションを更新して、そのバインド・オプション・セットを反映させます。

ステートメント・セットに対するバインド・オプション・セットを作成できない場合は、StaticBinder ユーティリティーによる、セット内の SQL ステートメントのバインドを行わないように指定することができます。 isBindable 属性の値を false に設定してください。

SQLGroupedBySpecialRegisters(warning)
警告トークンです。 Configure ユーティリティーが、ステートメント・セット内の SQL ステートメントとともに記録された特殊レジスター情報に関する問題を検出しました。
warning の値は以下のいずれかです。
  • INCONSISTENT_SRINFO
  • MULTI_SRINFO
  • NO_SRINFO
  • NOT_GROUPED
INCONSISTENT_SRINFO
ステートメント・セット内の SQL ステートメントが、特殊レジスターに従って正しくグループ化されていません。

Configure ユーティリティーは、ステートメント・セットのバインド・オプションに、値として SPECIAL_REGISTER_GROUPING_INCONSISTENT を持つ -configureWarning オプションも追加します。

ステートメント・セットを構成する際、Configure ユーティリティー・オプション -groupSQLBySpecialRegisters を値 TRUE で指定することにより、特殊レジスター設定値に基づいて SQL ステートメントをグループ化することができます。 -optionsFileForBind オプションを指定して新しいオプション・ファイルを生成し、新しく生成されたオプション・ファイルでは問題が報告されなくなっていることを確認してください。 ステートメント・セットは、以下のいずれかの方法で構成できます。
  • Configure ユーティリティーを実行する前に、IBM Optim Development Studio の pureQueryXML エディターを使用して、構成状況の値を REQUIRED に変更する。
  • Configure ユーティリティー・オプション -setPreStatusOfAllPkgs を値 REQUIRED で指定する。 このオプションを使用した場合、pureQueryXML ファイル内のすべてのステートメント・セットが影響を受けます。
  • Configure ユーティリティー・オプション -cleanConfigure を値 TRUE で指定する。 このオプションは、既存のどのステートメント・セットも保持する必要がない場合にのみ使用してください。
これらのステートメント・セット内のステートメントのグループを変更しない場合は、以下のようにして、オプション・ファイル内の情報を使用してバインド・オプション・セットを指定できます。
  1. ステートメント・セット内の SQL ステートメントを静的に実行するためのバインド・オプション・セットを作成します。
  2. そのバインド・オプション・セットをステートメント・セットの行に追加します。
  3. その行で、StaticBinder オプション -configureWarning から値 SPECIAL_REGISTER_GROUPING_INCONSISTENT を削除します。 他の値が指定されていない場合は、オプションごと削除してください。

バインド・オプション・セットを指定できない場合は、StaticBinder ユーティリティーによるバインド操作を実行しないように指定することができます。 ステートメント・セットの isBindable 属性の値を false に設定してください。

MULTI_SRINFO
ステートメント・セット内の各 SQL ステートメントで、ステートメントが複数回キャプチャーされました。 それぞれのキャプチャーで、異なる特殊レジスター値が記録されました。 Configure ユーティリティーは、オプション・ファイル内の特殊レジスター値セットに対応するバインド・オプションをリストします。

Configure ユーティリティーは、ステートメント・セットのバインド・オプションに、値として MULTIPLE_SPECIAL_REGISTER_VALUE_SETS を持つ -configureWarning オプションも追加します。

Configure ユーティリティーによってリストされたバインド・オプションを使用して、以下の手順を実行します。
  1. ステートメント・セット内の SQL ステートメントを静的に実行する際に正しく動作するバインド・オプション・セットを作成します。
  2. それらのバインド・オプションをステートメント・セットの項目に追加します。
  3. その項目で、StaticBinder オプション -configureWarning から値 MULTIPLE_SPECIAL_REGISTER_VALUE_SETS を削除します。 他の値が指定されていない場合は、オプションごと削除してください。

ステートメント・セットに対するバインド・オプション・セットを指定できない場合は、StaticBinder ユーティリティーによるバインド操作を実行しないように指定することができます。 ステートメント・セットの isBindable 属性の値を false に設定してください。

NO_SRINFO
ステートメント・セット内の SQL ステートメントに対する特殊レジスター情報が記録されていません。
SQL ステートメントとともに特殊レジスター情報が記録されない問題について、以下のリストにいくつかの理由をあげます。
  • 特殊レジスター情報の記録をサポートしていない旧バージョンの pureQuery Runtime で SQL ステートメントがキャプチャーされた。

    ステートメントをキャプチャーして、特殊レジスター情報を記録するには、現行バージョンの pureQuery Runtime を使用してアプリケーションを再度実行してください。

  • SQL ステートメントのキャプチャーに使用されたユーザー・アカウントに、特殊レジスター情報へのアクセスに必要な権限がなかった。

    特殊レジスター情報を記録するには、特殊レジスター情報へのアクセスに必要な権限を持ったユーザーを指定してください。

  • SQL ステートメントが、GeneratePureQueryXml ユーティリティーによって pureQueryXML ファイルに追加された。

ステートメント・セット内の SQL ステートメントを正しく実行するために特殊レジスター値が必要である場合は、オプション・ファイル内のステートメント・セットの行に、正しい設定値を生成するバインド・オプション・セットを指定します。

正しいバインド・オプションが分からない場合は、StaticBinder ユーティリティーによるバインド操作を実行しないように指定することができます。 ステートメント・セットの isBindable 属性の値を false に設定してください。

NOT_GROUPED
ステートメント・セット内の SQL ステートメントが、特殊レジスター設定値に基づいてグループ化されていません。 ただし、他のステートメント・セット内の SQL ステートメントは、特殊レジスター設定値に基づいてグループ化されています。
ステートメント・セット内の SQL ステートメントが正しい動作を取得するために特殊レジスター値が必要である場合は、特殊レジスター設定値に基づいて SQL ステートメントをグループ化します。 以下のいずれかのメソッドを使用します。
  • Optim Development Studio の pureQueryXML エディターを使用して、ステートメント・セットの名前を削除します。 次に、Configure ユーティリティーを再度実行して、-groupSQLBySpecialRegisters オプションを値 TRUE で指定します。
  • Configure ユーティリティーを実行して、-cleanConfigure オプションを値 TRUE で指定し、-groupSQLBySpecialRegisters オプションを値 TRUE で指定します。 保持する必要のある既存ステートメント・セットがある場合、-cleanConfigure オプションは使用しないでください。

新しいオプション・ファイルを生成して、そのファイルから警告が消えているか確認するには、Configure ユーティリティー・オプション -optionsFileForBind を指定します。

SQLGroupedByStrings(strings)
情報トークンです。 ステートメント・セット内の SQL ステートメントが指定されたストリングに基づいてグループ化されています。

SQL ステートメントをグループ化する方法については、Configure ユーティリティー・オプション -groupSQLByStrings を参照してください。

特殊レジスター値セットのコメント・トークン

以下のトークンによって、ステートメント・セット内のステートメントの実行に使用された特殊レジスター値セットに関する情報が提供されます。 これらのトークンがコメントに示される場合、それらは大括弧で囲まれ、どのトークンがどの特殊レジスター値セットに対応するのかが示されます。

以下のコメントの例には、特殊レジスター値セットに対するトークンが含まれています。
# WARNING: [specialRegValueId(10) minimumDivideScale(3)]
特殊レジスター値セットの ID は 10 です。 この特殊レジスター値セットの場合、CURRENT PRECISION 特殊レジスターによって指定された除算の最小位取りは 3 です。

このコメントに警告のマークが付いているのは、一部のデータベースで、バインド・オプションによってパッケージの除算の最小位取り値を設定することができないためです。 pureQueryXML ファイルの特殊レジスター値セット情報については、pureQueryXML ファイルの特殊レジスター情報を参照してください。

minimumDivideScale(scale)
警告トークンです。 関連付けられた特殊レジスター値セットで、CURRENT PRECISION 特殊レジスター値に、割り算演算に関して指定された除算の最小位取りが含まれています。 CURRENT PRECISION 特殊レジスター値の形式は、Dpp.s です。 変数 pp は精度を表し、15 または 31 です。 Configure ユーティリティーは、精度を指定するバインド・オプション DEC を生成します。 変数 s は、オプションの除算の最小位取りです。 s の値は、1 から 9 までの間の整数です。s の値は、トークン minimumDivideScale(scale) の scale の値です。 一部のデータベースでは、バインド・オプションによってパッケージの除算の最小位取り値を設定することができません。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

ステートメント・セット内のステートメントに、データベースのデフォルトの設定値に設定された除算関数の除算の最小位取りで正しく実行されないものがあるか判別します。

静的実行時に SQL ステートメントが正しく実行されない場合は、StaticBinder ユーティリティーによる、セット内の SQL ステートメントのバインドを行わないように指定することができます。 isBindable 属性の値を false に設定してください。

missingSpecialRegValueId(IDs)
警告トークンです。 ステートメント・セット内の SQL ステートメントが、IDs リスト内の特殊レジスター値セットと関連付けられています。 しかし、それらの特殊レジスター値セットが pureQueryXML ファイルに定義されていません。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

Configure ユーティリティーは、ステートメント・セットのバインド・オプションに、値として SPECIAL_REGISTER_VALUE_SET_MISSING を持つ -configureWarning オプションも追加します。

この警告が示される理由の 1 つは、特殊レジスター値セットの定義がファイルから削除されていることです。

特殊レジスター値セットの定義は、以下のいずれかの方法で復旧できます。
  • ファイルを手動で編集し、特殊レジスター値セットの定義を削除した場合は、定義を削除した変更を取り消す。
  • ステートメント・セットを削除して、セット内の SQL ステートメントを再キャプチャーする。

定義を復旧できない場合は、静的実行時に SQL ステートメントが正しい動作を行わない可能性があります。 StaticBinder ユーティリティーによる、セット内の SQL ステートメントのバインドを行わないように指定することができます。 セットの isBindable 属性の値を false に設定してください。

specialRegValueId(IDs)
情報トークンです。 ステートメント・セット内の SQL ステートメントに関して、pureQuery Runtime が、IDs にリストされた特殊レジスター値セットを記録しました。 IDs の値には、1 つ以上の特殊レジスター ID が入ります。 ステートメント・セットに複数の特殊レジスター値セットが関連付けられている場合、Configure ユーティリティーは各 ID をコンマで区切ります。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

特殊レジスター ID の形式は、以下のいずれかです。
  • 特殊レジスター値セットの ID を指定する単一の整数。
  • pureQueryXmlFilePath:ID。ファイル名およびコロンで区切られた整数です。

    defaultOptions 項目にこのトークンがリストされる場合、Configure ユーティリティーは ID の前に pureQueryXML ファイルの名前を追加します。 このファイルには、指定された特殊レジスター値セットが含まれています。

specialRegValueId(NONE)
警告トークンです。 ステートメント・セットに、特殊レジスター情報と関連付けられたいくつかの SQL ステートメントと、特殊レジスター情報と関連付けられていないいくつかの SQL ステートメントが含まれています。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

このトークンが示されるのは、トークン SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) も示される場合のみです。 SQL ステートメントの複数の異なるステートメント・セットへのグループ化については、トークン SQLGroupedBySpecialRegisters(INCONSISTENT_SRINFO) に関する情報を参照してください。

このステートメント・セット内の SQL ステートメントを特殊レジスター設定値に基づいてグループ化した場合、一部のステートメントは、トークン SQLGroupedBySpecialRegisters(NO_SRINFO) が示されたセット内にグループ化されます。

SQLID(sqlid)
警告トークンです。 sqlid の値は、関連付けられた特殊レジスター値セット内の CURRENT SQLID 特殊レジスターの値です。 このトークンは、CURRENT SQLID 特殊レジスターの値が CURRENT SCHEMA 特殊レジスターの値と一致する場合には含められません。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

ステートメント・セットのバインド・オプションを使用する前に、以下の手順を実行して、必ず正しいオプションを使用するようにしてください。
  1. ステートメント・セット内の SQL ステートメントを正しく実行するために CURRENT SQLID 値が必要かどうかを判別します。
  2. ステートメント・セット内の SQL ステートメントを静的に実行する際に正しく動作するバインド・オプション・セットを作成します。

    場合によっては、一部の動作について、OWNER バインド・オプションを使用することによって、CURRENT SQLID 特殊レジスターを使用した場合と同じ結果を得ることができます。

  3. 必要に応じて、オプション・ファイル内のステートメント・セットに対する項目を更新して、そのバインド・オプション・セットを反映させます。

ステートメント・セットに対するバインド・オプション・セットを作成できない場合は、StaticBinder ユーティリティーによる、セット内の SQL ステートメントのバインドを行わないように指定することができます。 セットの isBindable 属性の値を false に設定してください。

unrecognizedSpecialRegisters(specialRegisters)
警告トークンです。 1 つ以上の特殊レジスター・セットに、Configure ユーティリティーが認識しない 1 つ以上の特殊レジスターが含まれていました。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

specialRegisters の値には、1 つ以上のキーワードが入ります。 複数のキーワードが認識されない場合、Configure ユーティリティーは各キーワードをコンマで区切ります。

pureQueryXML ファイル内の SQL ステートメントが、Configure ユーティリティーのバージョンより前のバージョンの pureQuery Runtime でキャプチャーされた場合は、認識されない特殊レジスターが記録される可能性があります。 認識されない特殊レジスターは、ファイル内の特殊レジスター情報が手動により誤った内容に編集された場合に作成される可能性があります。

このトークンが示された場合は、SQL ステートメントを pureQueryXML ファイルにキャプチャーするものと同じリリースのバージョン、またはそれ以降のバージョンの Configure ユーティリティーを使用してください。 pureQueryXML ファイルが手動により誤った内容に編集された場合は、それらの編集を取り消す必要があります。

UNTRACKED_SET
警告トークンです。 pureQuery クライアント最適化が記録しない特殊レジスターに対する SQL SET ステートメントをアプリケーションが実行した後で、関連付けられた特殊レジスター値セットを使用して実行された SQL ステートメントが実行されました。

このトークンは、特殊レジスター設定値に基づいてグループ化されたステートメント・セットのコメント、または defaultOptions 行のコメント内に示されます。

ステートメント・セットのバインド・オプションを使用する前に、以下の手順を実行して、必ず正しいオプションを使用するようにしてください。
  1. アプリケーション、およびキャプチャーされたすべての pureQueryXML ファイルを参照して、pureQuery Runtime がトラッキングせず、安全でないと見なしている特殊レジスターに対して実行された SQL SET ステートメントを特定します。 SQL ステートメントのキャプチャー時に記録される特殊レジスター情報については、pureQuery クライアント最適化による DB2 特殊レジスターの変更のトラッキングを参照してください。
  2. ステートメント・セット内のすべての SQL SET ステートメントに関して、ステートメント・セット内の SQL ステートメントを正しく実行するためにそれらが必要かどうかを判別します。
  3. ステートメント・セット内の SQL ステートメントを静的に実行する際に正しく動作するバインド・オプション・セットを作成します。
  4. 必要に応じて、オプション・ファイル内のステートメント・セットに対する項目を更新して、そのバインド・オプション・セットを反映させます。

ステートメント・セットに対するバインド・オプション・セットを作成できない場合は、StaticBinder ユーティリティーによる、セット内の SQL ステートメントのバインドを行わないように指定することができます。 セットの isBindable 属性の値を false に設定してください。


フィードバック