この演習では、プロジェクトを pureQuery のクライアント最適化用に構成します。Java アプリケーションを実行し、SQL ステートメントを pureQueryXML ファイルに取り込みます。
始める前に
環境が次の要件を満たすことを確認します。
- pureQuery のサポートが Java プロジェクトで有効になっている必要があります。
- SAMPLE データベースがインストールされた DB2® データベースが必要です。
- プロジェクトのデータベース接続プロパティーで SAMPLE データベースへの接続が指定されていて、IBM Data Server Driver for JDBC and SQLJ がプロジェクトのビルド・パスに存在する必要があります。
この演習では、以下のタスクを実行します。
- プロジェクトに対して pureQuery のクライアント最適化を有効にします。
- 簡単なアプリケーションから SQL データを取り込みます。
pureQuery のクライアント最適化を使用して SQL ステートメントを取り込むには、以下のようにします。
- 必要に応じて、SAMPLE データベースへの接続をアクティブにします。
「データ・ソース・エクスプローラー」で、「データベース接続¥SAMPLE」を選択し、「接続」を選択します。「プロパティー」が表示される場合は、必要な接続情報を入力して、「OK」をクリックします。
- プロジェクトに対して pureQuery のクライアント最適化を有効にします。
- プロジェクトを右クリックし、「プロパティー」を選択します。
- 「プロパティー」ウィンドウで、「pureQuery」ノードをクリックして「pureQuery」ページを開きます。
- 「クライアントの最適化」で、「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 ランタイムのセットアップ処理に含まれるステップです。
- アプリケーションを実行して SQL データを取り込みます。
- パッケージ・エクスプローラーで MySample.java ファイルを右クリックし、をクリックします。
- パッケージ・エクスプローラーで pq-tutorial¥pureQueryFolder フォルダーを右クリックし、「リフレッシュ」を選択します。
pureQueryXML ファイルが pureQueryFolder フォルダーに表示されます。
このファイルには、pureQuery ランタイムによって取り込まれた SQL 情報が含まれます。
- 別の SQL ステートメントをアプリケーションから取り込みます。
- ソース・コードで、実行するデフォルトの SQL ステートメントを決定する値を変更します。
次のコードで、変数 i の値を 0 から 1 に変更します。
if ( args.length == 0) {
// value for the default SQL statement to run
i = 1 ;
- ファイルを保存します。
- アプリケーションを実行して SQL ステートメントを取り込みます。
パッケージ・エクスプローラーで MySample.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
- 取り込んだ 2 つの SQL ステートメントを含む pureQueryXML ファイルを表示します。
- パッケージ・エクスプローラーで pureQueryFolder フォルダーに移動します。
- pureQueryFolder フォルダーをリフレッシュして capture.pqdxml ファイルを表示します。
- capture.pqdxml ファイルをダブルクリックし、ファイルを pureQueryXML エディターで開きます。
pureQueryXML エディターに pureQueryXML ファイルが表示されます。
- ステートメント・セットを展開し、pureQuery ランタイムによって取り込まれた 2 つの SQL ステートメントを表示します。
SQL ステートメントを選択すると、スキーマ名、現行パス、DECFLOAT 丸めモードなど、取り込まれた SQL データを見ることができます。
次の図には、2 つの SQL ステートメントを含む単一のステートメント・セットの pureQueryXML ファイルを示します。
図 1. pureQueryXML エディターに表示された capture.pdqxml pureQueryXML ファイル
上記の図では、ワークベンチによって構成された pureQueryXML ファイルが示されています。pureQueryXML の構成処理では、ステートメント・セットに pq-tutA という名前が設定されます。ステートメント・セットの名前は pq-tut というストリング (Default.genProps ファイルでの -rootPkgName オプションの値) が基になっています。
pureQueryXML ファイルの SQL ステートメントは、pureQueryXML エディターを使用して管理できます。ステートメント・セット名の変更、SQL ステートメントの実行、取り込まれた SQL ステートメントに対する代替ステートメントの追加などの処理を実行できます。
- SQL ステートメントを pureQueryXML エディターから実行します。
pureQueryXML エディターで最初の SQL ステートメントを右クリックし、「SQL の実行」を選択します。
ワークベンチで SQL ステートメントが実行されます。「SQL の結果」ウィンドウが開き、結果が表示されます。
エディターから SQL ステートメントを実行すると、ワークベンチはプロジェクトに定義されている接続を使用します。アプリケーションを実行すると、アプリケーションで定義されている接続が使用されます。
- pureQueryXML エディターを閉じます。
「capture.pdqxml」タブの「X」をクリックします。