シナリオ: SQL データのキャプチャー、取得、およびマージ

このシナリオのアプリケーションは、複雑なものではありません。このアプリケーションは、アプリケーションにより発行された SQL ステートメントをキャプチャーするために、デプロイされているサーブレットを何回か実行することによって実行します。 アプリケーションの実行後に、キャプチャーされ、リポジトリー内に保管された SQL データを抽出し処理します。

このタスクについて

このシナリオでは、アプリケーションは 3 つのアプリケーション・クライアントで実行されます。3 つのアプリケーション・クライアントはすべて、リポジトリーに書き込みを行い、インクリメンタル・キャプチャー・レコードを作成します。

pureQuery ManageRepository ユーティリティーを使用して、キャプチャーされた SQL データを含むレコードをローカル・システム上のファイルに抽出し、Merge ユーティリティーを使用して、キャプチャーされた SQL ファイルをマージして 1 つのファイルを作成します。この単一のファイルを、pureQuery Configure および StaticBinder ユーティリティーを使用して処理します。

手順

SQL データをキャプチャー、取得、およびマージするには、次のようにします。

  1. WebSphere® アプリケーションを実行して SQL データをキャプチャーします。

    デプロイされているアプリケーションを実行して、アプリケーション内の SQL ステートメントを実行します。

    pureQuery Runtime が、デプロイされているアプリケーションから SQL データをキャプチャーします。
  2. キャプチャーされた 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 に置かれます。

  3. 実行時グループ・バージョン用の 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 データは含まれません。

  4. インクリメンタル・キャプチャー・ファイルとファイル 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 を作成します。

  5. キャプチャーされた 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 ステートメントを含むパッケージを作成し、そのパッケージをデータベースにバインドします。


フィードバック