データベースアダプタ用 OTD の開発

新しい JDBC OTD の作成

JDBC アダプタ用の新しい OTD を作成するには、次の手順を実行する必要があります。

ウィザードタイプの選択

新規オブジェクト型定義ウィザードで、OTD の構築に必要なウィザードのタイプを選択します。

ProcedureJDBC データベース OTD ウィザードを選択する

  1. プロジェクトツリーで、プロジェクトを右クリックし、ショートカットメニューから「新規」 > 「オブジェクト型定義」の順に選択します。「ウィザードタイプの選択」ページに、使用可能な OTD ウィザードが表示されます。次の図を参照してください。

    OTD ウィザードの選択

Procedureデータベースに接続する

  1. 新規オブジェクト型定義ウィザード」ウィンドウで、「JDBC データベース」を選択し、「次へ」ボタンをクリックします。「新規ウィザード - JDBC データベース」ウィンドウが表示されます。

  2. 「接続情報」フレーム内で、JDBC データベースの接続情報を入力します。

    必須のデータベース接続フィールドは次のとおりです。

    • 「ドライバ Jar ファイル」 - ドライバ Jar ファイルの場所。

    • 「ドライバ Java クラス名」 - ドライバマネージャークラスの名前。

    • 「URL 接続文字列」 - ドライバの URL 接続文字列。

    • 「ユーザー名」 - 有効な JDBC データベースユーザー名。

    • 「パスワード」 - 前述のユーザー名のパスワード。

      データベース接続情報

データベースオブジェクトの選択

OTD に含める JDBC データベースオブジェクトのタイプを選択します。

Procedureデータベースオブジェクトを選択する

  1. データベースオブジェクトを選択するときに、OTD ファイルに含めるテーブルビュー手続き事前定義文を自由に組み合わせて選択できます。「次へ」をクリックして続行します。次の図を参照してください。


    注 –

    ビューは読み取り専用であり、情報提供のみを目的としています。


    データベースオブジェクトの選択

テーブル/ビュー/エイリアスの選択

OTD で必要なテーブル、ビュー、またはエイリアスのタイプを選択します。

Procedureテーブル/ビュー/エイリアスを選択する

  1. テーブル/ビュー/エイリアスの選択」ウィンドウで、「追加」をクリックします。次の図を参照してください。

    テーブル/ビュー/エイリアスの選択
  2. テーブルの追加」ウィンドウで、選択条件として「テーブルのみ」、「ビューのみ」、「両方」のいずれかを選択し、さらに、システムテーブルを含めるかどうかを指定します。

  3. テーブル/ビュー名のドロップダウンリストから、データベーステーブルの場所を選択し、「検索」をクリックします。次の図を参照してください。

    データベースウィザード - すべてのスキーム
  4. 目的のテーブルを選択し、「了解」をクリックします。

    選択したテーブルが、「選択されたテーブル/ビュー/エイリアス」セクションに追加されます。次の図を参照してください。

    「選択されたテーブル/ビュー/エイリアス」ウィンドウと選択されたテーブル
  5. 選択されたテーブル/ビュー/エイリアス」セクションで、選択されたテーブルを確認します。選択されたテーブルまたはビューに変更を加える場合は、「変更」をクリックします。何も変更を加えない場合は、「次へ」をクリックして続行します。

  6. テーブル/ビューの列」ウィンドウで、テーブルの列を選択または選択解除できます。また、各テーブルのデータ型を変更するには、そのデータ型を強調表示させて、ドロップダウンリストから別のデータ型を選択します。テーブルの列を変更する場合は、「変更」をクリックします。次の図を参照してください。

    ドライバがデータ型を検出できない場合、通常はデータ型として「その他」が表示されます。その場合は、列データのタイプに適したデータ型に変更することをお勧めします。

    テーブル/ビューの列
  7. データ型、精度/長さ、またはスケールを変更するには、「詳細」をクリックします。テーブルの選択が完了したら、「了解」をクリックします。通常は、何も変更する必要はありません。次の図を参照してください。

    テーブル/ビューの列: 詳細

手続きの選択

OTD で必要なストアドプロシージャーのタイプを選択します。

Procedureストアドプロシージャーを選択する

  1. 手続きの選択と結果セットおよびパラメータ情報の指定」ウィンドウで、「追加」をクリックします。

    手続きの選択と結果セットおよびパラメータ情報の指定
  2. 手続きの選択」ウィンドウで、手続きの名前を入力するか、またはドロップダウンリストからスキーマを選択します。「検索」をクリックします。ワイルドカード文字も使用できます。

  3. 表示された「手続きの選択」リストボックスで、手続きを選択します。「了解」をクリックします

    手続きの追加
  4. 選択した手続きに変更を加える場合は、「手続きの選択と結果セットおよびパラメータ情報の指定」ウィンドウで「パラメータの編集」をクリックします。次の図を参照してください。

    手続きパラメータ
  5. データ型を復元するには、「復元」をクリックします。操作が完了したら、「了解」をクリックします。

  6. OTD で Resultset のノードを生成する方法を選択するには、「Resultsets の編集」をクリックします。

  7. 生成する Resultset ノードのタイプを追加するには、「追加」をクリックします。

    ResultSet の編集

    データベースウィザードでは、3 とおりの方法でストアドプロシージャーの ResultSet ノードを生成できます。「実行時」モード、「手動で」モード、および「アシスタンス」モードです。

    「実行時」モード 

    「実行時」モードでは、指定されたストアドプロシージャーをデフォルト値で実行して ResultSet を生成します。ストアドプロシージャーのビジネスロジックに基いて、0 個以上の ResultSet を実行結果として返すことができます。複数の ResultSet がある場合に、「実行時」モードですべての ResultSet が返されないときは、その他のモードを使用して ResultSet ノードを生成してください。 

    「アシスタンス」モード 

    「アシスタンス」モードでは、ユーザーがクエリーを指定し、それを実行して ResultSet ノードを生成できます。この操作を容易にするために、データベースウィザードは、指定されたストアドプロシージャーの内容を取得して表示しようとします。ただし、内容の取得は、全てのタイプのストアドプロシージャーでサポートされているわけではありません。ストアドプロシージャーは、SQL と外部の 2 種類に大きく分類できます。SQL ストアドプロシージャーは、CREATE PROCEDURE SQL 文を使用して作成されます。一方、外部ストアドプロシージャーは、Java などのホスト原語を使用して作成されます。外部ストアドプロシージャーでは、実行プランがデータベースに保存されないため、内容の取得はできません。「アシスタンス」モードを使用するときは、クエリーを実行する前に、テーブル名までを含めた実行文を強調表示させます。 

    「手動で」モード 

    「手動で」モードでは、もっとも柔軟な方法で ResultSet ノードを生成できます。このモードでは、ユーザーがノード名、元の列名、およびデータ型を手動で指定できます。この方法の欠点の 1 つは、ユーザーが元の列名やデータ型を知っている必要があることです。この方法は常に使用可能とは限りません。たとえば、次のクエリーに「3*C」という列名があります。 


    SELECT A, B, 3*C FROM table T

    これはデータベースによって生成されます。この場合は、「アシスタンス」モードの方が適しています。 

    データベースウィザードの「実行」モードで生成された ResultSet を変更する場合は、インデックスがストアドプロシージャーと一致していることを確認する必要があります。これにより、ResultSet インデックスが確実に保持されるようにします。 

  8. 手続きの選択と結果セットおよびパラメータ情報の指定」ウィンドウで、「次へ」をクリックして操作を続行します。


    注 –

    すべてのドライバおよびデータベースでストアドプロシージャーまたは ResultSet を伴うストアドプロシージャーがサポートされるわけではありません。詳細についてはドライバのベンダーに問い合わせてください。


事前定義文の追加

事前定義文オブジェクトを OTD に追加します。

Procedure事前定義文を追加する


注 –

事前定義文を使用するときは、ResultsAvailable() メソッドは常に true を返します。このメソッドは使用可能ですが、while ループでは使用しないでください。while ループで使用すると、実行時に無限ループに入ってしまい、システムのすべての CPU が停止状態になります。使用する場合は、if 文でのみ使用してください。


  1. 事前定義ステートメントの追加」ウィンドウで、「追加」をクリックします。

    事前定義ステートメント
  2. 事前定義文の名前を入力するか、または「SQL ステートメント」ウィンドウ内でクリックして SQL 文を作成します。文の作成が完了したら、「名前をつけて保存」をクリックして文の名前を指定します。この名前は、OTD のノードとして表示されます。「了解」をクリックします 次の図を参照してください。

    事前定義 SQL ステートメント
  3. 事前定義ステートメントの追加」ウィンドウに、事前定義文に割り当てた名前が表示されます。パラメータを編集するには、「パラメータの編集」をクリックします。データ型を変更するには、「タイプ」フィールドをクリックして、リストから別のタイプを選択します。

  4. 文にパラメータを追加する場合は、「追加」をクリックします。また、パラメータを削除する場合は、その行を強調表示させて「削除」をクリックします。「了解」をクリックします 次の図を参照してください。

    事前定義ステートメントパラメータの編集
  5. ResultSet 列を編集するには、「ResultSet 列の編集」をクリックします。「ResultSet 列」ウィンドウが表示されます。次の図を参照してください。

    ResultSet 列
  6. 新しい ResultSet 列を追加するには、「追加」をクリックします。名前およびタイプも編集可能です。

  7. 「了解」をクリックして「事前定義ステートメントの追加」ウィンドウに戻ります。

OTD 名の指定

Java CAPS IDE に表示する OTD の名前を指定します。

ProcedureOTD 名を指定する

  1. OTD の名前を入力します。OTD には、選択されたテーブルおよび生成されたクラスのパッケージ名が含まれます。次の図を参照してください。

    OTD 名の指定
  2. 次へ」をクリックします。

選択内容の確認

新しい OTD に関する選択内容を確認します。

ProcedureOTD の選択内容を確認する

  1. OTD の概要を確認します。間違った内容がある場合は、「戻る」をクリックし、その情報を修正します。

  2. OTD の情報に問題がない場合は、「完了」をクリックして OTD の生成を開始します。次の図を参照してください。

    結果の OTD が Java CAPS IDE に表示されます。

    データベースウィザード - 概要