pureQuery クライアント最適化に対応した、DB2® データベースに接続している CLI アプリケーションの場合は、SQL ステートメントを静的に実行するように構成できます。
構成プロセスの一環として、Java ベースの pureQuery ユーティリティー Configure および StaticBinder を実行して、パッケージをデータベースに作成してパッケージをバインドします。
始める前に
pureQuery Runtime は、Configure ユーティリティーおよび StaticBinder ユーティリティーを実行するコンピューターにインストールして、使用可能にする必要があります。pureQuery Runtime JAR ファイル、pdq.jar、および pdqmgmt.jar は、CLASSPATH にリストされている必要があります。次の製品もコンピューターにインストールされている必要があります。
- Java Runtime Environment
(JRE) バージョン 1.5 以降
- IBM® Data Server Driver for
JDBC and SQLJ バージョン 3.57.xx
このタスクについて
SQL データを pureQueryXML ファイルにキャプチャーしたら、pureQuery Runtime がインストールされているコンピューターにそのファイルをコピーします。
そのコンピューター上で Configure および StaticBinder ユーティリティーを実行し、次に、更新された pureQueryXML ファイルを CLI アプリケーションが実行されるコンピューターにコピーします。
Configure ユーティリティーは、StaticBinder ユーティリティーで使用するために pureQueryXML ファイルを更新します。SQL データのキャプチャーに使用された CLI アプリケーションもその pureQueryXML ファイルを使用して静的に実行する SQL ステートメントを判別します。
手順
DB2 データベース上で SQL ステートメントを静的に実行するよう CLI アプリケーションを構成するには、次のようにします。
- pureQueryXML ファイルを pureQuery Runtime がインストールされているコンピューターにコピーします。
ファイルを取得する際に pureQueryXML ファイルに書き込みが行われていないことを確認します。
書き込みが行われているときにファイルを取得すると、ファイルの内容が無効になったり、アプリケーションでファイルを更新できなくなって入出力エラーが発生したりする場合があります。
Configure ユーティリティーで -validateXml オプションを使用して、ファイルの妥当性を確認できます。
-validateXml オプションは、pureQuery Runtime 2.2.0.3 以降でサポートされています。
- pureQuery Configure ユーティリティーを使用して、pureQueryXML ファイルを構成します。
以下のサンプル・コマンドは、pureQueryXML ファイル capture.pdqxml を構成します。
-rootpkgname オプションは、pureQueryXML SQL 情報からパッケージ名を作成するために StaticBinder ユーティリティーが使用する基本ストリングを指定します。
-validateXml オプションは、pureQueryXML ファイルが pureQueryXML スキーマに準拠していることを確認するために、Configure ユーティリティーが XML スキーマの妥当性検査を実行することを指定します。
java com.ibm.pdq.tools.Configure -rootpkgname TESTPKG
-validateXml TRUE
-pureQueryXml capture.pdqxml
- pureQuery StaticBinder ユーティリティーを実行して、ターゲット・データベース上にパッケージを作成し、それをデータベースにバインドします。
以下のサンプル・コマンドは、
-url オプションで指定されるデータベース上にパッケージを作成し、パッケージをそのデータベースにバインドします。
パッケージには、pureQueryXML ファイル capture.pdqxml からの SQL ステートメントが含まれます。
-isolationLevel オプションは、StaticBinder ユーティリティーが CS 分離レベル用のみのパッケージを作成することを指定します。
java com.ibm.pdq.tools.StaticBinder
–url "jdbc:db2://testserver.test.com:446/STLEC1"
-username "testuser" -password "testpwd"
-isolationLevel "CS"
-pureQueryXml "capture.pdqxml"
デフォルトでは、StaticBinder ユーティリティーは、指定した pureQueryXML ファイルに対し、分離レベルのタイプ別に 1 つずつ、計 4 つのパッケージを作成します。この例では、分離レベル CS を指定しています。StaticBinder は、その分離レベル用にパッケージを 1 つのみ作成します。
- 構成済みの pureQueryXML ファイルを、それが作成された CLI アプリケーションを実行しているコンピューターにコピーして戻します。
pureQuery Runtime は、構成済みの pureQueryXML ファイルの情報を使用して、静的に実行する SQL ステートメントを判別します。
- アプリケーションの CLI 構成ファイルで、pureQuery キーワード executionMode の値を STATIC に設定します。
例えば、db2cli.ini で次の pureQuery キーワードを設定します。
executionMode=STATIC
allowDynamicSQL=TRUE
pureQueryXml=capture.pdqxml
代わりに db2dsdriver.cfg ファイルを使用する場合は、次のようにパラメーター・エレメントの属性としてキーワードを設定します。
<parameter name="executionMode" value="STATIC" />
<parameter name="allowDynamicSQL" value="TRUE" />
<parameter name="pureQueryXml" value="capture.pdqxml" />
キーワード値 allowDynamicSQL=TRUE を指定すると、pureQuery Runtime は、SQL ステートメントを動的に実行します (その SQL ステートメントが pureQueryXML ファイル capture.pdqxml 内にない場合)。
pureQuery キーワード allowDynamicSQL のデフォルト値は、TRUE であり、プロパティー・ファイルでは必須ではありません。ファイルにこのプロパティーを含めると、デフォルト値を再認識できます。
- 構成ファイルおよび pureQueryXML ファイル内の更新された情報を使用するために、アプリケーションを実行または再開します。
CLI アプリケーションは更新された pureQuery キーワードと pureQueryXML 情報を読み取り、SQL ステートメントを静的に実行します。
次のタスク
新しい SQL ステートメントを pureQueryXML ファイルにキャプチャーした場合は、Configure および StaticBinder ユーティリティーを使用すると、パッケージを更新するか新規パッケージを作成し、パッケージをデータベースにバインドできます。