ワークベンチを使用した、pureQuery コードでの静的 SQL のサポートの構成

アノテーション付きメソッドが宣言されるインターフェースの作成後、静的に実行する SQL ステートメントが含まれる DB2® パッケージの構成および作成を開始できます。

始める前に

Oracle データベースを使用している場合は、SQL を静的に実行することはできません。

バインド操作の実行前に、以下の前提条件を満たしていることを確認してください。
  • pureQuery StaticBinder ユーティリティーを呼び出すユーザーの特権設定に、以下の特権のいずれかが含まれること。
    • SYSADM 権限
    • DBADM 権限
    • パッケージが存在しない場合には、BINDADD 特権に加え、以下のいずれかの特権。
      • CREATEIN 特権
      • DB2 for z/OS®: 対象となるコレクションまたはすべてのコレクションに対する PACKADM 権限
      • DB2 Database for Linux, UNIX, and Windows: パッケージのスキーマ名が存在しない場合には、データベースに対する IMPLICIT_SCHEMA 権限
    • DB2 for z/OS: パッケージが存在する場合、パッケージに対する BIND 特権。
    • DB2 Database for Linux, UNIX, and Windows: パッケージが存在する場合には次が必要です。
      • スキーマに対する ALTERIN 特権
      • パッケージに対する BIND 特権
  • DB2 for Linux, UNIX, and Windows: アプリケーションでの静的 SQL ステートメントのコンパイルに必要な特権すべても、ユーザーに付与される必要があります。グループに付与される特権は、静的ステートメントの許可検査では使用されません。 ユーザーに SYSADM 権限があるものの、バインドを完了するための明示特権がない場合、DB2 データベース・マネージャーは明示的な DBADM 権限を自動的に付与します。

手順

ワークベンチを使用して pureQuery コードでの静的 SQL のサポートを構成するには、以下を実行します。

  1. 複数のインターフェースから SQL ステートメントを別個の DB2 パッケージ 1 つにまとめたい場合、それらのインターフェースの 1 つを別のインターフェース 1 つを使用して拡張します。
  2. Default.genProps ファイルで、編集する DB2 パッケージのコレクション、ルート名、およびバージョンを指定します。
  3. インターフェース内の SQL ステートメントおよびそれらについての情報を表示します。
    パッケージ・エクスプローラーでプロジェクト・フォルダーを選択するか、Java プロジェクト内の任意のファイルを選択すると、「SQL Outline」ビューにデータがキャプチャーされます。

    ビューが開いていない場合は、「ウィンドウ」 > 「ビューの表示」 > 「その他」を選択します。「ビューの表示」ウィンドウで、「その他」 > 「SQL Outline」と選択します。

    バインド操作は実行されていないため、ビューに表示されるのはバインドされていないパッケージのみです。

  4. Default.bindProps ファイルで、DB2 パッケージへの SQL ステートメントのバインド方法を決定するオプションを指定します。
  5. 以下のいずれかのステップにしたがって、Java プロジェクト内のインターフェースにある SQL ステートメントをバインドします。
    • Java プロジェクト内のインターフェースをすべてバインドするには、プロジェクトを右クリックし、「pureQuery」 > 「pureQuery アプリケーションのバインド」を選択します。
    • Java プロジェクト内のインターフェースを 1 つ以上バインドするには、選んだインターフェースを右クリックし、「pureQuery」 > 「バインド」を選択します。
    「接続の選択」ウィンドウが開くので、使用する DB2 データベースを選択します。Java プロジェクトに関連付けられていないデータベースを選択することができます。
    重要: オフラインでの作業中はバインド操作を実行できません。バインド先にする DB2 データベースに接続している必要があります。
  6. DB2 パッケージおよびそれらに含まれる SQL ステートメントを表示します。 プロジェクト・フォルダーを選択し、「SQL Outline」ビューの「SQL」ページを調べます。ここで、必要な DB2 パッケージが作成済みであることを確認します。

    データベース内にパッケージが作成されたことを確認する場合は、「SQL Outline」ビューでそのパッケージを右クリックし、「データ・ソース・エクスプローラーで表示」を選択します。

    pureQuery コードの実行前に、DB2 パッケージを異なるオプションで再作成したり、パッケージの新規バージョンを作成することができます。

  7. アプリケーションを実行して、バインド済み SQL ステートメントの静的実行を行います。

タスクの結果

「SQL Outline」ビューの使用は、SQL ステートメントで生じる可能性のある問題のトラブルシューティングに役立ちます。

インターフェース内の SQL ステートメントを 1 つ以上変更する場合、またはインターフェースにステートメントを追加する場合、 それらのステートメントを含む新規バージョンの DB2 パッケージの変更または作成を行うことができます。

アプリケーションを JAR ファイルに展開する場合: ワークベンチでは、Default.bindProps ファイルの defaultOptions 行が、ユーザーが該当するファイルで個別にオプションを指定するインターフェースを除くプロジェクトのすべてのインターフェースに適用されます。 JAR ファイルにアプリケーションを展開する前に、バインドする予定の SQL ステートメントが含まれるすべてのインターフェースの項目が Default.bindProps ファイルに含まれていることを確認してください。 pureQuery StaticBinder ユーティリティーは、アプリケーションを展開するデータベースのコマンド行から実行する必要があり、Default.bindProps ファイルにリストされているインターフェースに対してのみ動作します。

インターフェースに追加するには、以下のようにします。
  1. プロジェクト内の pureQueryFolder フォルダーで Default.bindProps ファイルを右クリックし、「pureQuery」 > 「項目の追加または除去」を右クリックします。
  2. 「項目の追加または除去」ウィンドウで、必要なインターフェースを追加します。

アプリケーションの展開後に、DB2 パッケージのルート・パッケージ名、コレクション ID、およびバージョンを訂正する必要が生じた場合、defaultOptions の行が適用されるすべてのインターフェースの項目が、Default.genProps ファイルに含まれていることも確認してください。 このファイルを右クリックし、「項目の追加または除去」ウィンドウを使用することで、項目をファイルに追加することもできます。


フィードバック