ManageRepository コマンドの例

ManageRepository ユーティリティーを使用してデータベースに接続し、pureQuery 構成情報および pureQueryXML ファイルのデータを保管できるリポジトリーを作成します。このリポジトリーには、pureQuery クライアントの最適化の使用時に、キャプチャーされた SQL を保管することもできます。

ManageRepository ユーティリティーを使用して、サポートされているデータベースにリポジトリーを作成できます。また、ManageRepository またはワークベンチを使用して、リポジトリーを管理することもできます。

次の例では、リポジトリーを作成します。
java com.ibm.pdq.tools.ManageRepository 
  -create repository
  -repositoryType pureQueryOnly
  -repositoryURL jdbc:db2://test.user.com:17593/SAMPLE 
  -repositoryUsername testid 
  -repositoryPassword testpwd 
  -repositoryDriverClass com.ibm.db2.jcc.DB2Driver
注: データベースへの接続には、接続オプション repositoryURLrepositoryUsernamerepositoryPassword、および repositoryDriverClass が必要です。以下の例の一部では、分かりやすくするため、これらの接続オプションをまとめて <connection options> と示します。

次の例では、リポジトリーの作成に使用できる DDL スクリプトを生成します。リポジトリーは作成されません。

java com.ibm.pdq.tools.ManageRepository
  -create repository
  -repositoryType pureQueryOnly
  <connection options>
  -generateScriptOnly "c:¥create.ddl"

pureQuery ランタイム・データのみを保管するリポジトリーの作成

pureQuery クライアントの最適化により使用される pureQueryXML ファイルを含めるためにのみリポジトリーを使用する場合は、よりサイズの小さい、簡易版のリポジトリーを作成することができます。-repositoryType オプションに pureQueryRuntimeOnly 値を指定して使用してください。
java com.ibm.pdq.tools.ManageRepository 
    -create repository
    -repositoryType pureQueryRuntimeOnly
    <connection options>

リポジトリーにアクセスするためのパッケージの作成

リポジトリーの作成後、静的 SQL をサポートしているデータベース・プラットフォームでは、データベース・パッケージを作成してリポジトリーへのアクセスを管理できます。

コレクション名およびパッケージ名はユーティリティーにより選択され、ユーザーはこれを変更できません。
java com.ibm.pdq.tools.ManageRepository
    -bind packages 
    <connection options>
ユーザーが -generateScriptOnly オプションを指定した場合、ManageRepository ユーティリティーでは、リポジトリーを管理する SQL ステートメントのバインドに必要なコマンド・スクリプトのみが作成されます。バインドは実行されません。

キャプチャーされた SQL データによる pureQueryXML データの更新

以下の例では、pureQuery データ、pureQueryXML ファイル、pureQuery プロパティー・ファイル、キャプチャーされた SQL ファイル、マージに使用される構成ファイル、およびバインド用プロパティー・ファイルのすべての pureQuery データが単一のリポジトリーに保管されると仮定しています。以下のコマンドを実行すると、このすべてのデータがローカル・システム上のファイルに抽出されます。
java com.ibm.pdq.tools.ManageRepository 
      -extract runtimeGroup
      -outputDirectory "c:¥mergeDir"
      -pureQueryXml "capture.pdqxml"
      -optionsFileForBind "bind.properties"
      -optionsFileForConfigure "gen.properties"
      -pureQueryProperties "pdq.properties"
      -incrementalCapture "testcap"
      -runtimeGroupId "SampleId"
      -runtimeGroupVersion "3.1"
       <connection options>
キャプチャーされた SQL データが testcap_N.pdqxml という名前のファイルに抽出されます。N は 1 で始まる整数です。
注: ランタイム・グループ・バージョンの pureQueryXML データを更新する場合、Merge、Configure、および StaticBinder ユーティリティーでの操作に抽出されたファイルをすべて使用する必要はありません。ただし、ご使用のシステム上またはリポジトリー内に pureQuery ファイルをセットとしてまとめて保管しておくと、ファイルの管理が容易になります。

以下のコマンドを実行すると、キャプチャーされた SQL データがファイル内のキャプチャーされた SQL データと比較された後、ランタイム・グループ・バージョンからキャプチャーされた SQL データが削除されます。これにより、リポジトリー内のキャプチャーされた SQL が変更されていないことが確認されます。

java com.ibm.pdq.tools.ManageRepository 
    -delete incremental
    -inputDirectory "c:¥mergeDir"
    -runtimeGroupId "SampleId"
    -runtimeGroupVersion "3.1"
    -incrementalCapture "testcap"
    <connection options>
必要に応じて構成情報を更新し、マージ、構成、およびバインドを実行した後、ManageRepository -update runtimeGroup を使用して pureQuery 情報をリポジトリーにアップロードします。この例では、新規バージョンのランタイム・グループ・データを作成するようにバージョン ID が変更されています。
java com.ibm.pdq.tools.ManageRepository 
      -update runtimeGroup
      -inputDirectory "c:¥mergeDir"
      -pureQueryXML "capture.pdqxml"
      -bindProps "bind.properties"
      -genProps  "gen.properties"
      -pdqProperties "pdq.properties"
      -runtimeGroupId "SampleId"
      -version "3.2"
       <connection options>

ランタイム・グループ・バージョンのアクティブ化

以下のコマンドを実行すると、新規ランタイム・グループ・バージョンがアクティブ化されます。
java com.ibm.pdq.tools.ManageRepository 
    -activate runtimeGroup
    -runtimeGroupId "SampleId"
    -runtimeGroupVersion "3.2"
    <connection options>

キャプチャーされた SQL データを含む別個のリポジトリーへの接続の指定

pureQuery クライアントの最適化を使用するアプリケーションからキャプチャーされた SQL データを、pureQueryXML データとは異なるリポジトリーに保管できます。pureQueryXML データの抽出時に、両方のリポジトリーを指定して、キャプチャーされた SQL データを抽出できます。

次の ManageRepository コマンドでは、extract オプション、および名前が repository で始まるプロパティー (repository*) と incrementalRepository で始まるプロパティー (incrementalRepository*) の 2 つの接続オプションのセットが使用されます。 名前が repository で始まる接続オプション (repository*) では、pureQueryXML データを含むリポジトリーへの接続が指定されます。 名前が incrementalRepository で始まるプロパティー (incrementalRepository*) では、キャプチャーされた SQL データを含むリポジトリーへの接続が指定されます。 このコマンドでは、pureQuery データおよびキャプチャーされた SQL データの抽出時に、runtimeGroupId オプションおよび version オプションにより指定されるランタイム・グループ・バージョンが使用されます。 pureQuery データは、名前が repository で始まる接続オプション (repository*) により指定されるリポジトリー内に入れられます。 キャプチャーされた SQL データは、名前が incrementalRepository で始まる接続オプション (incrementalRepository*) により指定されるリポジトリー内に入れられます。
java com.ibm.pdq.tools.ManageRepository 
      -extract runtimeGroup
      -outputDirectory "c:¥mergeDir"
      -pureQueryXML "capture.pdqxml"
      -bindProps "bind.properties"
      -genProps  "gen.properties"
      -pdqProperties "pdq.properties"
      -incrementalCapture "testcap"
      -runtimeGroupId "SampleId"
      -version "3.1"

      -repositoryURL jdbc:db2://test.user.com:17593/SAMPLE 
      -repositoryUsername testid 
      -repositoryPassword testpwd 
      -repositoryDriverClass com.ibm.db2.jcc.DB2Driver

      -incrementalRepositoryURL=jdbc:db2://test.capture.com:18588/CAPTURE 
      -incrementalRepositoryUsername=testsqlcap
      -incrementalRepositoryPassword=testsqlcappwd
      -incrementalRepositoryDriverClass=ccom.ibm.db2.jcc.DB2Driver
      -incrementalRepositorySchema=PQCAPTURE
注: incrementalRepository 接続オプションは、-extract runtimeGroup オプションと共にのみ使用され、キャプチャーされた SQL をリポジトリーから抽出します。

2 つの pureQueryXML ファイルの比較

以下のコマンドは、2 つのファイルを比較し、ファイル c:¥pureQuery¥testEnv¥pdqChanges¥demo.html にレポートを保管します。
java com.ibm.pdq.tools.ManageRepository
    -report pureQueryXMLChanges 
    -oldPureQueryXml c:¥pureQuery¥testEnv¥pdqArtifacts¥demo.pdqxml.org 
    -newPureQueryXml c:¥pureQuery¥testEnv¥pdqArtifacts¥demo.pdqxml
    -file c:¥pureQuery¥testEnv¥pdqChanges¥demo.html
    -repositoryURL jdbc:db2://test.user.com:17593/SAMPLE 
    -repositoryUsername testid 
    -repositoryPassword testpwd
    -repositoryDriverClass com.ibm.db2.jcc.DB2Driver 
データベースへの接続が必要です。

フィードバック