次の方法で共有


Oracle Database 操作のメタデータを参照、検索、取得する

このセクションでは、アダプター サービス BizTalk プロジェクト アドインの使用、アダプター メタデータの追加ウィザード、およびアダプター サービス参照の追加 Visual Studio プラグインの使用方法について説明します。 これらの Visual Studio コンポーネントを使用すると、次のことができます。

  • メタデータを取得する操作を参照します。

  • メタデータを取得する操作を検索します。

  • アダプター サービス アドインの使用またはアダプター メタデータの追加ウィザードを使用する場合は、選択した操作とポート バインド構成ファイルのメッセージ スキーマを BizTalk サーバー プロジェクトに追加します。

  • アダプター サービス参照の追加プラグインを使用する場合は、選択した操作用の WCF クライアント クラスまたは WCF サービス コントラクト (インターフェイス) と、BizTalk 以外のプログラミング プロジェクトに構成ファイル (app.config) を追加します。

    ターゲット操作のメタデータを参照、検索、または取得するには、Oracle データベースに接続する必要があります。 アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用する場合に Oracle データベースに接続する方法については、「 Visual Studio で Oracle データベースに接続する」を参照してください。

Note

  • アダプター サービス BizTalk プロジェクト アドイン、アダプター メタデータの追加ウィザード、およびアダプター サービス参照の追加 Visual Studio プラグインは、操作を参照および検索するときに実質的に同じインターフェイスが存在するため、3 つのコンポーネントはすべて同じトピックで説明します。
    • カテゴリ ノードを選択すると、そのカテゴリのサブツリー内のすべての操作 (テーブル全体やスキーマ内のすべてのテーブルなど) を返すことができます。

操作の参照

アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用してメタデータを参照すると、Oracle データベース アダプターが表示されます。

  • テーブル、ビュー、ストアド プロシージャ、関数、パッケージに対して実行できる操作。

  • SQLEXECUTE 操作。アダプター クライアントは、Oracle データベースで汎用データ操作言語 (DML) またはストアド プロシージャを実行できます。

  • アダプター クライアントが Oracle データベースから受信データを取得できるようにする POLLINGSTMT 操作と通知操作。 また、ストアド プロシージャ、関数、パッケージの一覧も、ポーリングの操作として公開されるそれぞれのスキーマで公開されます。

Note

  • アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照の追加プラグインを使用すると、Windows インターフェイスを使用してカテゴリノードと操作ノードを参照できます。
    • SQLEXECUTE、POLLINGSTMT、および Notification 操作は、カテゴリ ツリーのルート ノードのすぐ下に表示されます。 これらの送信操作と受信操作を表示するには、ルート ノードを選択する必要があります。

メタデータの参照の詳細については、「Visual Studio での Oracle Database 操作のメタデータの取得」を参照してください。

アダプター サービス参照プラグインの追加またはアダプター サービス アドインの使用を使用して、Oracle データベース内のさまざまな成果物に対して公開される操作を参照するには、次の手順を実行します。

Oracle データベース内のメタデータを参照するには

  1. アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照の追加プラグインを使用して、Oracle データベースに接続します。 手順については、「 Visual Studio で Oracle Database に接続する 」を参照してください。

  2. [ コントラクトの種類の選択 ] ドロップダウン リストから、アダプターを使用して受信操作と送信操作のどちらを実行するかに基づいて、コントラクトの種類を選択します。

  3. [ カテゴリの選択 ] ボックスには、Oracle データベース内のスキーマが一覧表示されます。 スキーマをクリックすると、[使用可能なカテゴリと操作] ボックスにスキーマからアクセスできるテーブル、プロシージャ、関数、パッケージ 、ビューが 表示されます。 または、スキーマ ノードを展開して分類を確認することもできます。

    ヒント

    ツリー内の "イミディエイト" カテゴリ ノードまたはサブカテゴリ ノードに直接移動するには、[ カテゴリの選択 ] ボックスに、ツリー ビューにフォーカスがある間に成果物の名前を入力します。 たとえば、 SCOTT ノードにジャンプするには、ルート ノードにフォーカスを置き、「」と入力 SCOTTします。

    次の図は、アダプター サービス アドインの使用を示しています。 SCOTT スキーマ ノードが選択され、[SCOTT] ノードで使用できる一般的なカテゴリ ノードが [ 利用可能なカテゴリと操作 ] ボックスに一覧表示されます。

    Oracle データベース のユーザーを参照する

  4. [ テーブル ] ノードをクリックすると、[ 利用可能なカテゴリと操作 ] ボックスに SCOTT のテーブルが表示されます。 または、[ テーブル] ノード を展開してテーブルの一覧を表示することもできます。

  5. テーブル名をクリックすると、テーブルでサポートされている操作が表示されます。

    次の図は、アダプター サービス アドインの使用を示しています。 SCOTT スキーマで使用できるテーブルは、[ カテゴリの選択 ] ボックスに一覧表示されます。 EMP テーブルで使用できる操作は、[ 利用可能なカテゴリと操作 ] ボックスに一覧表示されます。

    Oracle データベース のテーブルを参照する

  6. [ プロシージャ ] ノードをクリックして、[ 使用可能なカテゴリと操作 ] ボックスにスキーマ SCOTT からアクセスできるプロシージャを一覧表示します。

    次の図は、アダプター サービス アドインの使用を示しています。 SCOTT スキーマで使用できる一般的なカテゴリ ノードは、[ カテゴリの選択 ] ボックスに一覧表示されます。 SCOTT スキーマで使用できるプロシージャは、[ 利用可能なカテゴリと操作 ] ボックスに一覧表示されます。

    Oracle データベース のプロシージャを参照する

  7. [ 関数 ] ノードをクリックすると、[ 使用可能なカテゴリと操作 ] ボックスにスキーマ SCOTT の関数が表示されます。

    次の図は、アダプター サービス アドインの使用を示しています。 SCOTT スキーマで使用できる一般的なカテゴリ ノードは、[ カテゴリの選択 ] ボックスに一覧表示されます。 SCOTT スキーマで使用できる関数は、[ 利用可能なカテゴリと操作 ] ボックスに一覧表示されます。

    Oracle データベース の関数を参照する

  8. [ パッケージ ] ノードをクリックして、[ 利用可能なカテゴリと操作 ] ボックスにスキーマ SCOTT のパッケージを表示します。 または、[ パッケージ] ノード を展開してパッケージの一覧を表示することもできます。

  9. パッケージ名をクリックすると、パッケージでサポートされている操作が表示されます。

    次の図は、パッケージと、SCOTT スキーマの特定のパッケージでサポートされている操作を一覧表示するアダプター サービス アドインを使用するを示しています。

    Oracle データベース bts_R2_NET_Adapter_Oracle_Tut1_Browse_Pckgs内のパッケージを参照する

  10. [ 表示 ] ノードをクリックすると、[ 利用可能なカテゴリと操作 ] ボックスにスキーマ SCOTT のビューが表示されます。 または、[表示] ノードを展開してビューの一覧を 表示 することもできます。

  11. ビュー名をクリックすると、ビューでサポートされている操作が表示されます。

    次の図は、SCOTT スキーマのビューと、特定のビューでサポートされている操作を一覧表示するアダプター サービス アドインの使用を示しています。

    Oracle データベース のビューを参照する

    Note

    WCF チャネル モデルとサービス モデルを使用して、アダプター クライアントはバッチ サイズを指定して、メタデータのバッチ取得を実行できます。

操作の検索

アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用して Oracle メタデータを検索する場合、Oracle データベース アダプターは次のようになります。

  • 検索式でワイルドカード文字とエスケープ文字をサポートします。

  • 検索操作が実行されるノードのすぐ下で検索を有効にします。 たとえば、関数を検索するには、\[Schema]\Functions で検索する必要があります。 複数レベルの検索はサポートされていません。

    次の表に、Oracle Database アダプターによる検索とその解釈に使用できる特殊文字の一覧を示します。

特殊文字 解釈
_ (アンダースコア) 1 文字に一致します

たとえば、A_は AB、AC、AD と一致します。
% (パーセンテージ) 0 個以上の文字と一致します。

たとえば、A% は A、AB、ABC と一致します。
\ (エスケープ) % と _ の特別な意味をエスケープします

たとえば、A\_B はA_Bと一致します。

Note

エスケープ文字は、ワイルドカード文字ではなく通常の文字としてワイルドカードとして解釈されることを示すためにワイルドカード文字の前に配置される文字です。

詳細については、「Visual Studio での Oracle Database 操作のメタデータの取得」を参照してください。

Oracle データベース内のメタデータを検索するには

  1. アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照の追加プラグインを使用して、Oracle データベースに接続します。 手順については、「 Visual Studio で Oracle Database に接続する 」を参照してください。

  2. [アダプター サービス アドインの使用] の [コントラクトの 種類の選択 ] ドロップダウン リストから、アダプターを使用して受信操作と送信操作のどちらを検索するかに基づいてコントラクトの種類を選択します。

  3. [ カテゴリの選択 ] ボックスで、検索するテーブル、プロシージャ、関数、パッケージ、およびビューを含むスキーマをクリックします。 クリックするスキーマがわからない場合は、ルート ノードをクリックします。

  4. [ カテゴリで検索 ] テキスト ボックスに、特定のスキーマを検索する検索式を入力します。 たとえば、名前に "SC" が含まれるスキーマを検索するには、テキスト ボックスに 「%SC% 」と入力します。

  5. 右矢印アイコンが表示されたボタンをクリックして、検索を開始します。 検索が完了すると、[ 利用可能なカテゴリと操作 ] ボックスに、検索条件を満たすスキーマが一覧表示されます。

  6. [ カテゴリの選択 ] ボックスで、スキーマに対応するノードを展開し、検索するデータベース項目をクリックします。 [ カテゴリ内で検索 ] テキスト ボックスに、特定のデータベース 項目を検索する検索式を入力します。

    たとえば、名前に "EMP" が含まれるテーブルを検索するには、[テーブル] を選択し、[カテゴリで検索] テキスト ボックスに「%EMP%」と入力し、右矢印アイコン付きのボタンをクリックします。

    次の図は、検索結果を一覧表示するアダプター サービス アドインの使用を示しています。

    Oracle データベースのメタデータを検索

    Note

    WCF チャネル モデルとサービス モデルを使用して、アダプター クライアントはバッチ サイズを指定して、メタデータのバッチごとの検索を実行できます。

アダプター サービス アドインまたはアダプター メタデータの追加ウィザードを使用したスキーマの生成

アダプター サービス アドインまたはアダプター メタデータの追加ウィザードを使用して、選択した Oracle データベース成果物のスキーマを生成できます。 呼び出す成果物を参照して検索したら、それらの成果物のスキーマを生成し、スキーマに準拠したメッセージを Oracle データベースに送信できます。 アダプター サービス アドインを使用して Oracle データベースからメタデータを取得するには、次の手順を実行します。

Note

カテゴリ ノードを選択すると、そのカテゴリのサブツリー内のすべての操作を返すことができます。たとえば、テーブル全体を選択したり (テーブル内のすべての操作のスキーマを生成する場合)、テーブルに対する特定の操作 (挿入や削除など) を選択して、テーブルに対する操作のみのスキーマを生成したりできます。 ノードの詳細については、「 メタデータ ノード ID3」を参照してください。

Oracle データベースからメタデータを取得するには

  1. アダプター サービス アドインの使用またはアダプター メタデータの追加ウィザードを使用して、Oracle データベースに接続します。 手順については、「 Visual Studio で Oracle Database に接続する 」を参照してください。

  2. [ コントラクトの種類の選択 ] ドロップダウン リストから、アダプターを使用して受信操作と送信操作のどちらを実行するかに基づいて、コントラクトの種類を選択します。

  3. [ カテゴリの選択 ] ボックスで、スキーマ ノードを展開します。

  4. メタデータを生成するカテゴリを選択します。 たとえば、テーブルのメタデータを生成する場合は、[テーブル] を選択 します

  5. その特定のカテゴリ ノードを展開し、メタデータを生成するノード内の特定の項目を選択します。

    たとえば、特定のテーブルのメタデータを生成するには、[ テーブル ] ノードを展開し、特定のテーブル名を選択します。

    Note

    前の手順で説明したように、特定のデータベース項目を検索することもできます。

  6. [ 利用可能なカテゴリと操作 ] ボックスで、前の手順で選択したデータベース項目に関連する操作を選択し、[ 追加] をクリックします。 選択した操作が [追加された カテゴリと操作 ] ボックスに一覧表示されます。

    次の図は、選択した操作を一覧表示するアダプター サービス アドインの使用を示しています。

    Oracle データベース からメタデータを取得する

    複数の操作のスキーマを生成する場合は、BizTalk プロジェクトのコンパイルでエラーが発生する可能性のある、これらのスキーマの中に重複する要素定義が存在する可能性があります。 たとえば、操作 "Op1" のスキーマを生成するシナリオを考えてみましょう。 "Op1" のスキーマには、複合データ型 "CT1" のパラメーターが含まれています。 "Op1" のスキーマを生成した後、アダプター サービス アドインを使用して再度開き、別の操作 "Op2" のスキーマを生成します。 "Op2" には、複合データ型 "CT1" のパラメーターも含まれているとします。 アダプター サービス アドインの使用を終了してプロジェクトをコンパイルすると、複合データ型 "CT1" が異なる XSD ファイルで 2 回定義されているため、コンパイル エラーが発生します。 このような場合は、次のことをお勧めします。

    • アダプター サービス アドインの 1 回の実行ですべての操作のスキーマを生成します。 これにより、アダプター サービス アドインを使用して、複合データ型 "CT1" の定義が 1 つだけ生成されるようになります。

    • アダプター サービス アドインを使用するさまざまな実行で複数の操作のスキーマを生成する場合は、生成された XSD ファイルに複合データ型 "CT1" の一意の名前空間が含まれるように、[一意のスキーマの種類をチェック生成する] ボックスを選択してください。

  7. [OK] をクリックします。 スキーマ ファイルは、BizTalk プロジェクトと同じ場所に拡張子 .xsd と共に保存されます。

    既定では、ファイルは名前付け規則 "OracleDBBindingSchema<n.xsd>" で作成されます。ここで、'n' は作成されるスキーマ ファイルの数に応じて 1、2 などになります。 または、[ ファイル名プレフィックス ] テキスト ボックスに名前を入力して、スキーマ ファイルにカスタム名を指定することもできます。 アダプター サービスアドインを使用すると、名前付け規則<ファイル名プレフィックス>Schema n.xsd> を使用してスキーマ ファイルが<作成されるようになりました。

    Note

    また、アダプター サービス アドインを使用すると、操作のスキーマの生成時に指定したバインド プロパティと、操作を呼び出す SOAP アクションを含むバインド ファイル (XML ファイル) も作成されます。 このバインド ファイルをBizTalk Server管理コンソールにインポートして、接続 URI、バインド プロパティ、SOAP アクション セットを含む WCF-Custom ポートを作成できます。 詳細については、「 Oracle Database へのポート バインド ファイルを使用して物理ポート バインドを構成する」を参照してください。

    重要

    アダプター メタデータの追加ウィザードを使用しても、バインド ファイルは生成されません。

  8. [ファイル] メニューの [すべてを保存] をクリックします。

アダプター サービス参照の追加プラグインを使用した WCF クライアントまたは WCF サービス コントラクトの生成

アダプター サービス参照の追加プラグインを使用して、送信操作用の WCF クライアント コードまたは受信操作用の WCF サービス コードを生成できます。

Oracle データベースからメタデータを取得するには

  1. [アダプター サービス参照プラグインの追加] の [コントラクトの 種類の選択 ] ドロップダウン リストから、受信 (POLLINGSTMT) 操作と送信操作のどちらを実行するかに基づいてコントラクトの種類を選択します。

  2. カテゴリ (Oracle Database テーブルなど) を参照または検索するか、WCF クライアント (または WCF サービス コントラクト) を生成する特定の操作を検索します。
    たとえば、SCOTT で操作を参照する場合です。EMP テーブルの [カテゴリの選択] ボックスで、次 の手順を 実行します。

    1. ルート ノード (/) を展開して、Oracle データベースのスキーマを確認します。

    2. ルート ノードの下で、SCOTT ノードを展開して、 SCOTT スキーマに公開されているカテゴリを確認します。

    3. SCOTT ノードの下にある [テーブル] ノードを展開して、SCOTT スキーマに対して表示されるテーブルを確認します。

    4. [ テーブル ] ノードの [ EMP ] ノードを選択します。 EMP テーブルに表示される操作は、[ 利用可能なカテゴリと操作 ] ボックスに一覧表示されます。

  3. [ 利用可能なカテゴリと操作 ] ボックスで、WCF クライアント (または WCF サービス コントラクト) を生成する操作またはカテゴリを選択し、[ 追加] をクリックします。 選択した操作が [追加された カテゴリと操作 ] ボックスに一覧表示されます。

    次の図は、SCOTT の挿入および更新操作を含むアダプター サービス参照プラグインの追加を示しています。EMP テーブルが選択されています。

    [選択] 操作と [更新] 操作が選択されています。

    重要

    選択した送信操作 (またはカテゴリ) によっては、複数の WCF クライアント クラスが生成される場合があります。 詳細については、「 Oracle Database ソリューション成果物の WCF クライアントまたは WCF サービス コントラクトを生成する」を参照してください。

  4. ほとんどのシナリオでは、既定のシリアル化オプションで十分です。ただし、必要に応じて、生成されるコードと使用されるシリアライザーの種類に関するいくつかの側面を制御できます。 これらのオプションを設定するには:

    1. [ 詳細オプション] を クリックして、[ 詳細オプション] ボックスを 開きます。

    2. [ 詳細オプション] ボックスの [ 生成されたプロキシのオプションの選択] で、目的のオプションを選択します。 たとえば、WCF クライアントに対して非同期メソッドを生成するか、構成ファイルの生成を無効にするかを選択できます。

    3. [ シリアライザー ] で、使用するシリアライザーを選択します。

      次の図は、既定の選択項目を含む [詳細オプション] ボックスを示しています (シリアライザーでは [自動 ] が選択されており、その他のオプションは選択されていません)。

      [詳細オプション] ボックスの既定の設定

      [ 詳細オプション] ボックスで構成できるオプションは、ServiceModel メタデータ ユーティリティ ツール (svcutil.exe) を使用するときに使用できるオプションの一部と同じです。 これらのオプションの詳細については、「 ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)」を参照してください。

  5. [OK] をクリックします。 アダプター サービス参照の追加プラグインは、プロジェクト ディレクトリで選択した操作とカテゴリの WCF クライアント クラス (または WCF サービス インターフェイス) とヘルパー コードを保存します。 既定では、構成ファイルも保存されます。 受信操作と送信操作では、若干異なるファイルが生成されます。詳細については、「 Oracle Database ソリューション成果物の WCF クライアントまたは WCF サービス コントラクトを生成する」を参照してください。

    [ 利用可能なカテゴリと操作 ] ボックスに一覧表示されている任意のノードを選択できます。 カテゴリ ノードを選択すると、そのノードとそのサブノードで使用できるすべての操作が選択されます。 たとえば、EMP テーブルに対して表示されるすべての操作に対して WCF クライアントを生成するには、EMP ノードを選択できます。SCOTT スキーマ内のすべてのテーブルに対して WCF クライアントを生成するには、 [テーブル] ノードを選択します。などなど。

参照

Visual Studio で Oracle Database 操作のメタデータを取得する