Java ストアード・プロシージャーを含む Java アプリケーションのバインド

pureQuery が使用可能な Java アプリケーションで 1 つ以上の Java ストアード・プロシージャーを作成する場合、アプリケーションを DB2® データベースにバインドすることができます。 DB2 パッケージに静的にバインドされる組み込み SQL を使用するアプリケーションには、パフォーマンス、信頼性、セキュリティー、モニター、および管理の分野での固有の利点があります。

始める前に

以下の要件が満たされていることを確認してください。
  • Java ストアード・プロシージャーを含む Java プロジェクトを、サポートされている DB2 データベースに関連付ける必要があります。
  • ファイル pdq.jar および pdqmgmt.jar を Java プロジェクトのビルド・パスに置く必要があります。

このタスクについて

以下の値は、デフォルト値として使用されます。
  • パッケージは、NULLID コレクションにバインドされます。
  • パッケージのバージョン ID は、データベースの現行システム時間に基づき、アルゴリズムによって決定されます。
  • ルート・パッケージ名は、実行クラスの名前の最初の 7 文字です。 各分離レベルに 1 つ、合計 4 つのパッケージが作成されます。

パッケージ・コレクションの名前、ルート・パッケージ名およびバージョンを指定することができます。

Java ストアード・プロシージャーを含む Java アプリケーションをバインドするには、以下のようにします。

手順

  1. 「pureQuery アウトライン」ビューが開いていない場合には、「ウィンドウ」 > 「ビューの表示」 > 「その他」を選択します。 「ビューの表示」ウィンドウで、「データ」 > 「pureQuery アウトライン」を選択します。
  2. パッケージ・エクスプローラーで、Java ストアード・プロシージャーを含む Java プロジェクトの「dataAccessFolder」フォルダーを展開します。
  3. Default.genProps ファイルを右クリックし、「データ・アクセス開発」>「 「項目の追加または除去」を選択します。 「項目の追加または除去」ウィンドウで、ストアード・プロシージャーで必要なすべてのインターフェースを追加します。
  4. Default.genProps ファイルで、作成する DB2 パッケージのコレクション、ルート名、およびバージョンを指定します。 「pureQuery アウトライン」ビューの「リフレッシュ」をクリックし、変更を表示します。 まだバインド操作を実行していないためアンバインドであるパッケージだけが、引き続きビューに表示されます。
  5. Default.bindProps ファイルを右クリックし、「データ・アクセス開発」>「 「項目の追加または除去」を選択します。 「項目の追加または除去」ウィンドウで、ストアード・プロシージャーで必要なすべてのインターフェースを追加します。
  6. Default.bindProps ファイルで、DB2 パッケージにバインドするときに Java アプリケーションのすべての SQL ステートメントに適用されるオプションを指定します。
  7. Java ストアード・プロシージャーを含む Java プロジェクトを右クリックし、「pureQuery アプリケーションのバインド」 を選択します。 「接続の選択」ウィンドウが開き、使用する DB2 データベースを選択することができます。Java プロジェクトに関連付けられていないデータベースを選択することができます。

    バインド操作の結果が「コンソール」ビューに表示されます。 このビューがまだ開いていない場合は、自動的に開きます。

    バインド操作でエラーが発生した場合、そのエラーも「コンソール」ビューに表示されます。

  8. Java ストアード・プロシージャーのコードに変更を加え、pureQuery API を呼び出したときに pdq.executionMode プロパティーを static に設定するロジックをコードに含めます。 以下のコード・セグメントは、このロジックの例を示しています。
    	java.util.Properties myPdqProperties = new java.util.Properties();
    	myPdqProperties.put("pdq.executionMode", "STATIC");
    	Connection con = DriverManager.getConnection("jdbc:default:connection");
    	Data d = DataFactory.getData(con,myPdqProperties);

フィードバック