このシナリオのアプリケーションは、複雑なものではありません。このアプリケーションは、アプリケーションにより発行された SQL ステートメントをキャプチャーするために、デプロイされているサーブレットを何回か実行することによって実行します。
アプリケーションの実行後に、キャプチャーされ、リポジトリー内に保管された SQL データを抽出し処理します。
このタスクについて
このシナリオでは、アプリケーションは 3 つのアプリケーション・クライアントで実行されます。3 つのアプリケーション・クライアントはすべて、リポジトリーに書き込みを行い、インクリメンタル・キャプチャー・レコードを作成します。
pureQuery ManageRepository ユーティリティーを使用して、キャプチャーされた SQL データを含むレコードをローカル・システム上のファイルに抽出し、Merge ユーティリティーを使用して、キャプチャーされた SQL ファイルをマージして 1 つのファイルを作成します。この単一のファイルを、pureQuery Configure および StaticBinder ユーティリティーを使用して処理します。
手順
SQL データをキャプチャー、取得、およびマージするには、次のようにします。
- WebSphere® アプリケーションを実行して SQL データをキャプチャーします。
デプロイされているアプリケーションを実行して、アプリケーション内の SQL ステートメントを実行します。
pureQuery
Runtime が、デプロイされているアプリケーションから SQL データをキャプチャーします。
- キャプチャーされた SQL データを抽出します。
リポジトリー内に保管されているキャプチャーされた SQL ファイルを抽出するには、以下のコマンドを実行します。
java com.ibm.pdq.tools.ManageRepository
-extract runtimeGroup
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "myuser" -repositoryPassword "mypwd"
-runtimeGroupId testApp -runtimeGroupVersion V1
-outputDirectory C:¥TEMP¥out
–incrementalCapture myCapture
ManageRepository オプション -incrementalCapture に対する値が myCapture であるため、キャプチャーされた SQL ファイルの名前は myCapture_n.pdqxml になります。ここで、n は整数です。このファイルはディレクトリー C:¥TEMP¥out に置かれます。
- 実行時グループ・バージョン用の pureQueryXML データを抽出します。
以下のコマンドを実行します。
java com.ibm.pdq.tools.ManageRepository
-extract runtimeGroup
-repositoryDriverClass com.ibm.db2.jcc.DB2Driver
-repositoryURL "jdbc:db2://testserver.test.com:32706/sample"
-repositoryUsername "myuser" -repositoryPassword "mypwd"
-runtimeGroupId testApp -runtimeGroupVersion V1
-outputDirectory C:¥TEMP¥out
–pureQueryXml baseTestApp.pdqxml
このコマンドを実行すると、実行時グループ・バージョン用の pureQueryXML データが抽出され、データがファイル C:¥TEMP¥out¥baseTestApp.pdqxml に保管されます。このファイルには基本 pureQueryXML 情報のみが含まれ、SQL データは含まれません。
- インクリメンタル・キャプチャー・ファイルとファイル baseTestApp.pdqxml で Merge ユーティリティーを実行します。 Merge ユーティリティーは、pureQueryXML ファイル内のデータを単一の pureQueryXML ファイルに結合します。
この出力ファイルは pureQuery Configure ユーティリティーで使用することができます。
以下の Merge ユーティリティー・コマンドは、ワイルドカード文字を使用して、キャプチャーされた SQL ファイルをマージします。
java com.ibm.pdq.tools.Merge
-inputPureQueryXml C:¥TEMP¥out¥myCapture_*.pdqxml
-baseFile C:¥TEMP¥out¥baseTestApp.pdqxml
-outputPureQueryXml C:¥TEMP¥out¥testApp.pdqxml
インクリメンタル・キャプチャー・ファイルをマージし、Configure ユーティリティーによって処理できるファイルを作成するには、Merge ユーティリティーを実行する必要があります。
Configure ユーティリティーは、キャプチャーされた SQL をリポジトリーから抽出するときに作成される pureQueryXML ファイルを、直接構成することはできません。
Merge ユーティリティーは、入力ファイルからファイル testApp.pdqxml を作成します。
- キャプチャーされた SQL データをリポジトリーから削除します。
以下の ManageRepository コマンドを実行します。
java com.ibm.pdq.tools.ManageRepository
-delete incremental
-runtimeGroupId group1
-runtimeGroupVersion V1
-incrementalCapture myCapture
-inputDirectory C:¥TEMP¥out
ManageRepository ユーティリティーは、接頭部
myCapture が付いた pureQueryXML ファイル内のデータを、指定された実行時グループ・バージョン内のキャプチャーされた SQL データと比較します。データが一致した場合、リポジトリー内のデータが削除されます。
タスクの結果
キャプチャーされた SQL ファイルのデータが含まれる pureQueryXML testApp.pdqxml を、現行ディレクトリー内に作成しました。
次のタスク
次のタスクでは、この pureQueryXML ファイルを、ファイル内の SQL ステートメントをターゲット・データベースにバインドする準備を整えるために構成します。また、SQL ステートメントを含むパッケージを作成し、そのパッケージをデータベースにバインドします。