シナリオ: pureQueryXML ファイルの構成と、このファイル内の SQL ステートメントのバインド

pureQuery Merge ユーティリティーを使用して作成した pureQueryXML ファイルには、WebSphere® アプリケーションからキャプチャーされた SQL ステートメントが含まれます。 pureQueryXML ファイル内の DB2® パッケージの特性を指定するには、pureQuery Configure ユーティリティーを使用します。pureQueryXML ファイル内の SQL ステートメントとその他の情報から DB2 パッケージを作成し、そのパッケージをトランザクション・データベースにバインドするには、StaticBinder ユーティリティーを使用します。

このタスクについて

Configure ユーティリティーの重要な機能の 1 つは、pureQueryXML ファイル内の SQL ステートメントを、名前が指定されたステートメント・セットにグループ化することです。このステートメント・セットの名前は -rootPkgName オプションの値に基づき、グループ化は指定する Configure オプションに基づきます。

pureQuery StaticBinder ユーティリティーを使用して、SQL ステートメントを含むパッケージを作成し、それらのパッケージをデータベースにバインドします。このシナリオの環境で、修飾子 TEST を使用するテスト・データベース上にパッケージを作成します。StaticBinder ユーティリティーは、pureQueryXML ファイルに定義されたステートメント・セットからパッケージを作成します。

手順

pureQueryXML ファイルを構成し、ファイル内の SQL ステートメントをバインドするには、次のようにします。

  1. キャプチャーされた SQL データを含む pureQueryXML ファイルを構成します。
    pureQueryXML ファイル testApp.pdqxml で Configure ユーティリティーを使用するには、以下のコマンドを実行します。
    java com.ibm.pdq.tools.Configure 
      -rootPkgName testApp 
      -cleanConfigure true
      -pureQueryXml testApp.pdqxml 
      –validateXml true 

    -cleanConfigure true オプションは、Configure ユーティリティーによりファイル全体を構成することを指定します。以前に構成済みの pureQueryXML ファイルを構成する場合は、-cleanConfigure false オプションを使用できます。 Configure ユーティリティーにより、pureQueryXML ファイル内の以前に構成およびバインドされた既存のステートメント・セットの内容を保持することが試みられます。

    -validateXml オプションは、Configure ユーティリティーが pureQueryXML スキーマに対して pureQueryXML ファイルの XML 妥当性検査を実行することを指定します。Configure ユーティリティーにより、pureQueryXML ファイル内に存在する XML 構文エラーが表示されます。

    ヒント: デフォルトでは、Configure ユーティリティーはコレクション NULLID を使用します。 別のコレクションが使用されるようにしたい場合は、-collection オプションを付けてコレクションを指定することができます。
  2. pureQueryXML ファイル内の SQL ステートメントをバインドします。
    アプリケーションはこのシナリオ用のテスト環境で実行中であり、SQL ステートメントはテスト環境でキャプチャーされました。キャプチャーされた SQL ステートメントをテスト環境でバインドするには、-bindOption "QUALIFIER TEST" オプションを指定して pureQuery StaticBinder ユーティリティーを実行して、テスト・データベース内の SQL ステートメントをバインドします。
    java com.ibm.pdq.tools.StaticBinder –url jdbc:db2://testserver.test.com:32706/sample" 
      -username "myuser" -password "mypwd"
      -isolationLevel CS 
      -bindOptions "QUALIFIER TEST"  
      -pureQueryXml testApp.pdqxml -showDetails true

    StaticBinder ユーティリティーにより、pureQueryXML ファイル内に指定された接続にパッケージがバインドされます。

    StaticBinder オプション -isolationLevel CS は、StaticBinder が分離レベルとしてカーソル固定 (CS) を使用して単一パッケージを作成することを指定します。CS 分離レベルは、DB2 for Linux、UNIX、および Windows データベースのデフォルト・レベルです。

    ヒント: このシナリオのアプリケーションを実稼働環境にマイグレーションする場合は、-bindOptions "QUALIFIER PROD" オプションを指定して StaticBinder ユーティリティーを実行して、実動データベース内に SQL ステートメントを含むパッケージを作成します。

    このコマンドに対する出力は、以下のサンプルのようになります。

    IBM Optim pureQuery Runtime 2.2.0.3 build 2.18.118
    Licensed Materials - Property of IBM
    5724-U16
    (c) Copyright IBM Corp. 2006, 2010 All Rights Reserved.
    
    ================================================================================
    
    The StaticBinder utility is beginning the bind operation for the 
    pureQueryXml file 'C:¥test¥pureQuery-test¥zz-merged.pdqxml'.
    
    Starting to process options:  -url "jdbc:db2://testserver.test.com:32706/sample
    " -username "*****" -password "*****" 
    -pureQueryXml "testApp.pdqxml"
    -isolationLevel "CS" 
    -bindOptions "QUALIFIER TEST" -showDetails "true"
    
    The StaticBinder utility successfully bound the package 'TESTAPP' 
    for the isolation level 'CS'.
    
    Number of statements input: '8', number of statements bound : '8', 
    bind options: 'ISOLATION CS QUALIFIER TEST'
    
    The bind operation completed successfully for 'testApp.pdqxml'.
        Number of packages input :'1'
        Number of input packages for which isBindable is false: '0'
        Number of input packages with zero bindable statements: '0'
        Number of bindable input packages processed by the Static Binder utility: '1' : [TESTAPP]
    
    ================================================================================
    
    Results of the StaticBinder utility's activity:
    
    Number of items for which the bind operation SUCCEEDED: 1

次のタスク

次のタスクでは、pureQueryXML ファイルを含むリポジトリーと、アプリケーションで SQL ステートメントを静的に実行できるようにする pureQuery Runtime プロパティーを更新します。


フィードバック