< 前へ | 次へ >

演習 2: pureQuery のクライアント最適化を使用して SQL ステートメントを取り込む

この演習では、プロジェクトを pureQuery のクライアント最適化用に構成します。Java アプリケーションを実行し、SQL ステートメントを pureQueryXML ファイルに取り込みます。

始める前に

環境が次の要件を満たすことを確認します。
  • pureQuery のサポートが Java プロジェクトで有効になっている必要があります。
  • SAMPLE データベースがインストールされた DB2® データベースが必要です。
  • プロジェクトのデータベース接続プロパティーで SAMPLE データベースへの接続が指定されていて、IBM Data Server Driver for JDBC and SQLJ がプロジェクトのビルド・パスに存在する必要があります。
この演習では、以下のタスクを実行します。

pureQuery のクライアント最適化を使用して SQL ステートメントを取り込むには、以下のようにします。

  1. 必要に応じて、SAMPLE データベースへの接続をアクティブにします。

    データ・ソース・エクスプローラー」で、「データベース接続¥SAMPLE」を選択し、「接続」を選択します。「プロパティー」が表示される場合は、必要な接続情報を入力して、「OK」をクリックします。

  2. プロジェクトに対して pureQuery のクライアント最適化を有効にします。
    1. プロジェクトを右クリックし、「プロパティー」を選択します。
    2. プロパティー」ウィンドウで、「pureQuery」ノードをクリックして「pureQuery」ページを開きます。
    3. クライアントの最適化」で、「SQL アプリケーションの SQL の取り込みおよびバインディング (SQL capturing and binding for SQL applications)」を有効にします。「OK」をクリックします。
    pdq.properties pureQuery ランタイム・プロパティー・ファイルがプロジェクトの src フォルダーに作成されます。 pureQuery ランタイム・プロパティー設定は次のようになります。
    pdq.captureMode=ON
    pdq.executionMode=DYNAMIC
    pdq.pureQueryXml=pureQueryFolder/capture.pdqxml

    これらの設定を有効にすると、pureQuery ランタイムは、アプリケーションによって発行された SQL ステートメントを取り込み、取り込んだ SQL データを pureQueryFolder/capture.pdqxml pureQueryXML ファイルに格納します。

    pureQueryFolder プロジェクト・フォルダーの Default.genProps pureQuery 構成プロパティー・ファイルが、次の -rootPkgName オプション情報で更新されます。
    C:¥test¥pq-tutorial¥pureQueryFolder¥capture.pdqxml= -rootPkgName pq-tut
    -rootPkgName オプション情報は、pureQueryXML ファイルを構成するためにワークベンチによって使用されます。pureQueryXML ファイルの構成は、DB2 データベースで SQL ステートメントを静的に実行するための pureQuery ランタイムのセットアップ処理に含まれるステップです。
  3. アプリケーションを実行して SQL データを取り込みます。
    1. パッケージ・エクスプローラーMySample.java ファイルを右クリックし、「実行」 > 「Java アプリケーション」をクリックします。

    2. パッケージ・エクスプローラーpq-tutorial¥pureQueryFolder フォルダーを右クリックし、「リフレッシュ」を選択します。

    pureQueryXML ファイルが pureQueryFolder フォルダーに表示されます。 このファイルには、pureQuery ランタイムによって取り込まれた SQL 情報が含まれます。

  4. 別の SQL ステートメントをアプリケーションから取り込みます。
    1. ソース・コードで、実行するデフォルトの SQL ステートメントを決定する値を変更します。

      次のコードで、変数 i の値を 0 から 1 に変更します。

         if ( args.length == 0) {
         // value for the default SQL statement to run
            i = 1 ;
    2. ファイルを保存します。
    3. アプリケーションを実行して SQL ステートメントを取り込みます。

      パッケージ・エクスプローラーMySample.java ファイルを右クリックし、「実行」 > 「Java アプリケーション」を選択します。

      アプリケーションが実行され、pureQuery ランタイムによってアプリケーションから SQL 情報が取り込まれます。出力が「コンソール」ウィンドウに表示されます。次に出力の例を示します。
      =======
      IBM Optim pureQuery Runtime 2.2.1.0 build 2.25.63
       =======
      case 1
      case 1 - non-systems employees: 24
      Finished case 1
  5. 取り込んだ 2 つの SQL ステートメントを含む pureQueryXML ファイルを表示します。
    1. パッケージ・エクスプローラーpureQueryFolder フォルダーに移動します。
    2. pureQueryFolder フォルダーをリフレッシュして capture.pqdxml ファイルを表示します。
    3. capture.pqdxml ファイルをダブルクリックし、ファイルを pureQueryXML エディターで開きます。

    pureQueryXML エディターに pureQueryXML ファイルが表示されます。

  6. ステートメント・セットを展開し、pureQuery ランタイムによって取り込まれた 2 つの SQL ステートメントを表示します。

    SQL ステートメントを選択すると、スキーマ名、現行パス、DECFLOAT 丸めモードなど、取り込まれた SQL データを見ることができます。

    次の図には、2 つの SQL ステートメントを含む単一のステートメント・セットの pureQueryXML ファイルを示します。

    図 1. pureQueryXML エディターに表示された capture.pdqxml pureQueryXML ファイル
    pureQueryXML エディターに表示された capture.pdqxml ファイル。

    上記の図では、ワークベンチによって構成された pureQueryXML ファイルが示されています。pureQueryXML の構成処理では、ステートメント・セットに pq-tutA という名前が設定されます。ステートメント・セットの名前は pq-tut というストリング (Default.genProps ファイルでの -rootPkgName オプションの値) が基になっています。

    pureQueryXML ファイルの SQL ステートメントは、pureQueryXML エディターを使用して管理できます。ステートメント・セット名の変更、SQL ステートメントの実行、取り込まれた SQL ステートメントに対する代替ステートメントの追加などの処理を実行できます。

  7. SQL ステートメントを pureQueryXML エディターから実行します。

    pureQueryXML エディターで最初の SQL ステートメントを右クリックし、「SQL の実行」を選択します。

    ワークベンチで SQL ステートメントが実行されます。「SQL の結果」ウィンドウが開き、結果が表示されます。

    エディターから SQL ステートメントを実行すると、ワークベンチはプロジェクトに定義されている接続を使用します。アプリケーションを実行すると、アプリケーションで定義されている接続が使用されます。

  8. pureQueryXML エディターを閉じます。

    capture.pdqxml」タブの「X」をクリックします。

演習のチェックポイント

Java プロジェクトで pureQuery のサポートを構成し、アプリケーションからの SQL データの取り込みとバインディングを有効にしました。アプリケーションを実行し、アプリケーションから SQL データを取り込みました。
ワークベンチから、以下のタスクを実行しました。
  • プロジェクトのプロパティーで pureQuery のサポートを構成しました。
  • ワークベンチから Java アプリケーションを実行しました。
  • 取り込んだ SQL データを pureQueryXML エディターで表示しました。
< 前へ | 次へ >

フィードバック