次の方法で共有


Oracle Database ソリューション成果物の WCF クライアントまたは WCF サービス コントラクトを生成する

アダプター サービス参照の追加 Visual Studio プラグインを使用して、Oracle データベース成果物に対する選択した操作を対象とする WCF クライアント クラスまたは WCF サービス コントラクト (インターフェイス) を生成できます。 ServiceModel メタデータ ユーティリティ ツール (svcutil.exe) を使用して、WCF クライアント クラスまたは WCF サービス コントラクトを生成することもできます。ただし、アダプターの追加サービス参照プラグインは、標準の Microsoft Windows インターフェイスを介して ServiceModel メタデータ ユーティリティ ツールの機能を公開します。 また、svcutil.exe ツールでは使用できない参照および検索機能も提供され、Oracle データベースに接続するときに選択したバインド プロパティに基づいて構成ファイルが生成されます。

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

アダプター サービス参照の追加プラグインを使用して WCF クライアント クラスを生成するには、次の手順を実行します。

WCF クライアント クラスを生成するには

  1. Visual Studio ソリューション エクスプローラーで、プロジェクトを右クリックし、[アダプター サービス参照の追加] をクリックします。

  2. [ アダプター サービス参照の追加 ] ダイアログ ボックスが開いたら、「 Visual Studio で Oracle 操作のメタデータを取得 する」の手順に従って Oracle データベースに接続し、操作を参照して検索します。 選択した操作の WCF クライアント クラスを作成するには、[コントラクトの種類の選択] ドロップダウン リストから [クライアント (送信操作)] が選択されていることを確認します (これが既定です)。

  3. 対象とするすべての操作を選択したら、[ OK] を クリックして WCF クライアント クラスを生成します。

    アダプター サービス参照の追加プラグインは、プロジェクトに 2 つのファイルを追加します。

  • OracleDBBindingClient.cs。 このファイルには、選択した操作用に生成された WCF クライアント クラスとヘルパー コードが含まれています。

  • をApp.configします。このファイルには、バインド構成とクライアント エンドポイント構成が含まれています。 これらの構成は、アダプター サービス参照プラグインの追加のバインドと接続を構成したときに行った選択に基づいています。

    重要

    Add Adapter Service Reference Visual Studio Plug-in の使用中に、string 型のバインド プロパティに値を指定せず、既定値が null の場合、そのバインド プロパティは app.config ファイルでは使用できません。 必要に応じて、バインド プロパティとその値を app.config ファイルに手動で追加する必要があります。

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

アダプターは受信操作を公開して、Oracle データベースがアダプター クライアントにメッセージを送信できるようにします。 このような操作では、WCF サービス コントラクトを生成する必要があります。 たとえば、アダプターは Oracle データベースをポーリングする受信 POLLINGSTMT 操作を公開します。 Oracle Database アダプターは、 PollingStatement バインディング プロパティで指定されたクエリを実行し、結果セットを POLLINGSTMT メッセージで使用しているアプリケーションに送信します。 このシナリオでは、使用するアプリケーションがサービスとして機能し、Oracle Database アダプターがクライアントとして機能します。 そのため、アダプターから POLLINGSTMT 操作を受け取ることができる WCF サービスを実装する必要があります。 これを行うには、アダプター サービス参照の追加プラグインを使用して、POLLINGSTMT 操作のアダプターによって表示されるサービス コントラクトを表す .NET インターフェイスを生成します。 この .NET インターフェイスは、WCF サービス コントラクトとも呼ばれます。 次に、このインターフェイスを実装して、POLLINGSTMT 操作を受け取るために使用できる WCF サービスを作成します。

このセクションでは、アダプターによって公開される受信操作用のアダプター サービス参照プラグインの追加を使用して WCF サービス コントラクトを生成する方法について説明します。

受信操作用の WCF サービス コントラクトを生成するには

  1. Visual Studio ソリューション エクスプローラーで、プロジェクトを右クリックし、[アダプター サービス参照の追加] をクリックします。

  2. [ アダプター サービス参照の追加 ] ダイアログ ボックスが開いたら、「 Visual Studio で Oracle 操作のメタデータを取得 する」の手順に従って Oracle データベースに接続します。 受信操作のために Oracle データベースに接続するときに設定する必要があるバインディング プロパティと URI プロパティがいくつかあります。 たとえば、受信ポーリング操作 (POLLINGSTMT) では、Oracle データベースへの接続を構成するときに 、PollingStatement バインディング プロパティを指定する必要があります。 Oracle Database アダプターは、このプロパティで指定された SQL SELECT ステートメントを使用して、POLLINGSTMT 操作によって返される結果セットを表すクラスを生成します。

  3. Oracle データベースに接続したら、[Select contract type]\(コントラクトの種類の選択\) ドロップダウン リストから [サービス (受信操作)] を選択します。

  4. [ カテゴリの選択 ] ボックスで、ルート ノード (/) をクリックし、サービス コントラクトを生成する操作を参照します。 たとえば、ポーリング操作の場合は、[利用可能なカテゴリと操作] ボックスから [POLLINGSTMT] を選択し、[追加] をクリックします。

  5. POLLINGSTMT 操作の WCF サービス コントラクトを生成するには、[OK] をクリック します

    アダプター サービス参照の追加プラグインは、プロジェクトに次の 3 つのファイルを追加します。

  • OracleDBBindingInterface.cs。 このファイルには、POLLINGSTMT 操作用に生成された WCF サービス コントラクト (インターフェイス) とヘルパー コードが含まれています。

  • OracleDBBindingService.cs。 このファイルには、OracleDBBindingInterface.cs で定義されているインターフェイスを実装するクラスが含まれています。 ポーリング クエリによって返されるレコードを処理するビジネス ロジックは、このクラスの POLLINGSTMT メソッドに実装できます。

  • をApp.configします。このファイルには、アダプター サービス参照プラグインのバインドと接続を構成したときに行った選択に基づくバインディング構成、エンドポイント動作、およびサービス エンドポイント構成が含まれています。

    重要

    Add Adapter Service Reference Visual Studio Plug-in の使用中に、string 型のバインド プロパティに値を指定せず、既定値が null の場合、そのバインド プロパティは app.config ファイルでは使用できません。 必要に応じて、バインド プロパティとその値を app.config ファイルに手動で追加する必要があります。

svcutil.exe を使用して WCF クライアント クラスまたは WCF サービス コントラクトを生成する

svcutil.exe を使用して、アプリケーションの WCF クライアント クラスまたは WCF サービス インターフェイスを生成できます。 oracle Database アダプターで使用するように svcutil.exe を構成する必要があります。 Oracle データベース アダプターでの svcutil.exe の構成と使用の詳細については、「 BizTalk Adapter for Oracle Database での ServiceModel メタデータ ユーティリティ ツールの使用」を参照してください。

Svcutil.exe は、WCF クライアント クラスまたは WCF サービス コントラクトを出力ファイルに生成します。 既定のファイル名は output.cs です。 このファイルは、Visual Studio プロジェクトに手動で含める必要があります。

参照

WCF サービス モデルを使用した Oracle データベース アプリケーションの開発
WCF サービス モデルを使用した SQL での基本的な挿入、更新、削除、選択操作の実行