pureQuery™ クライアント最適化に対応しており、DB2® データベースに接続する CLI または .NET アプリケーションについては、SQL ステートメントを静的に実行するようにアプリケーションを構成できます。
構成プロセスの一環として、Java ベースの pureQuery ユーティリティーである Configure および StaticBinder を実行してデータベース上にパッケージを作成し、そのパッケージをバインドします。
始める前に
Java ベースの Configure ユーティリティーおよび StaticBinder ユーティリティーを実行するコンピューターに pureQuery Runtime をインストールして使用可能にする必要があります。
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 または 4.7.xx
このタスクについて
SQL データを pureQueryXML ファイルにキャプチャーした後、pureQuery Runtime がインストールされているコンピューターにそのファイルをコピーします。
そのコンピューター上で Configure および StaticBinder ユーティリティーを実行し、次に、更新された pureQueryXML ファイルを CLI または .NET アプリケーションを実行するコンピューターにコピーします。
Configure ユーティリティーは、StaticBinder ユーティリティーで使用するために pureQueryXML ファイルを更新します。SQL データのキャプチャーに使用した CLI または .NET アプリケーションも、その pureQueryXML ファイルを使用して、どの SQL ステートメントを静的に実行するかを判別します。
手順
DB2 データベース上で SQL ステートメントを静的に実行するように CLI または .NET アプリケーションを構成するには、次のようにします。
- 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 ファイルが pureQuery XML スキーマに準拠していることを確認するために、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 または .NET アプリケーションの構成ファイルで、pureQuery キーワード executionMode の値を STATIC に設定します。
- CLI アプリケーションに対して db2cli.ini 構成ファイルを使用する場合は、次のように pureQuery キーワードを設定します。
executionMode=STATIC
allowDynamicSQL=TRUE
pureQueryXml=capture.pdqxml
- CLI アプリケーションまたは .NET アプリケーションのいずれかに対して db2dsdriver.cfg ファイルを使用する場合は、次のようにして parameter エレメントの属性としてキーワードを設定します。
<parameter name="executionMode" value="STATIC" />
<parameter name="allowDynamicSQL" value="TRUE" />
<parameter name="pureQueryXml" value="capture.pdqxml" />
キーワード値 allowDynamicSQL=TRUE を指定すると、pureQuery Runtime は、SQL ステートメントが pureQueryXML ファイル capture.pdqxml 内にない場合に、その SQL ステートメントを動的に実行します。
pureQuery キーワード allowDynamicSQL は、デフォルト値が TRUE で、プロパティー・ファイル内に必須ではありません。
ファイルにこのプロパティーを含めると、デフォルト値を再認識できます。
- 構成ファイルおよび pureQueryXML ファイル内の更新された情報を使用するために、アプリケーションを実行または再開します。
アプリケーションは更新された pureQuery キーワードと pureQueryXML 情報を読み取り、SQL ステートメントを静的に実行します。
次のタスク
新しい SQL ステートメントを pureQueryXML ファイルにキャプチャーした場合は、pureQuery ユーティリティー Configure および StaticBinder を使用してパッケージを更新するか新規パッケージを作成し、そのパッケージをデータベースにバインドできます。
pureQuery クライアント最適化に対応した CLI または .NET アプリケーションは、pureQueryXML ファイル・データをリポジトリーから取得できます。
アプリケーションは、pureQuery Runtime の構成情報をリポジトリーから取得することはできません。
アプリケーションは、リポジトリーに格納されている pureQueryXML データを更新できません。