次の方法で共有


BizTalk Server を使用して Oracle Database の変更通知を段階的に受信する

Von Bedeutung

簡潔にするために、このトピックでは、通知を段階的に受信する方法についてのみ説明します。 ビジネス シナリオでは、受信した通知メッセージの種類を抽出し、後続の操作を実行するロジックをオーケストレーションに含めるのが理想的です。 言い換えると、 BizTalk Server を使用して Oracle Database で特定のタスクを完了するには、「通知メッセージの処理」で説明されているオーケストレーションの上に、このトピックで説明されているオーケストレーションを構築する必要があります。

このトピックでは、Oracle から増分クエリ通知メッセージを受信するように Oracle データベース アダプターを構成する方法について説明します。 増分通知を示すために、"処理済み" 列を含むテーブル ACCOUNTACTIVITY を検討します。 このテーブルに新しいレコードが挿入されると、"処理済み" 列の値は 'n' に設定されます。 増分通知を受信するようにアダプターを構成するには、次の手順を実行します。

  • "処理済み" 列を持つすべてのレコードを 'n' として取得する SELECT ステートメントを使用して通知に登録します。 これを行うには、 NotificationStatement バインディング プロパティに SELECT ステートメントを指定します。

  • 通知された行の場合は、"処理済み" 列を 'y' に更新します。

    このトピックでは、BizTalk オーケストレーションを作成し、これを実現するために BizTalk アプリケーションを構成する方法について説明します。

Oracle データベース アダプターのバインド プロパティを使用した通知の構成

次の表は、Oracle データベースからの通知の受信を構成するために使用する Oracle Database アダプターのバインド プロパティをまとめたものです。 BizTalk Server 管理コンソールで受信ポートを構成するときに、これらのバインド プロパティを指定する必要があります。

必須ではありませんが、 通知 操作のスキーマを生成するときに、これらのバインド プロパティを指定することもできます。 その場合、アダプターサービスアドインがメタデータ生成の一部として生成するポート バインド ファイルにも、バインド プロパティに指定した値が含まれます。 このバインド ファイルは、後で BizTalk Server 管理コンソールにインポートして、既に設定されているバインディング プロパティを使用して WCF カスタムまたは WCF-OracleDB 受信ポートを作成できます。 バインド ファイルを使用して受信ポートを作成する方法の詳細については、「 Oracle Database へのポート バインド ファイルを使用して物理ポート バインドを構成する」を参照してください。

バインディングプロパティ 説明
InboundOperationType 実行する受信操作を指定します。 通知メッセージを受信するには、これを [通知] に設定します。
NotificationPort Oracle データベースからのデータベース変更通知を受け取るために、ODP.NET がリッスンする必要があるポート番号を指定します。
NotificationStatement クエリ通知の登録に使用する SELECT ステートメントを指定します。 アダプターは、指定した SELECT ステートメントの結果セットが変更された場合にのみ通知メッセージを取得します。
NotifyOnListenerStart リスナーの起動時にアダプターがアダプター クライアントに通知を送信するかどうかを指定します。

これらのプロパティの詳細については、「 BizTalk Adapter for Oracle Database Binding Properties の使用」を参照してください。 Oracle データベース アダプターを使用して Oracle データベースから通知を受信する方法の詳細については、詳細を参照してください。

このトピックで通知メッセージの受信方法を示す方法

このトピックでは、Oracle データベース アダプターが Oracle データベースからのデータベース変更の増分通知メッセージの受信をサポートする方法を示すために、ACCOUNTACTIVTY テーブルへの変更の通知を受信するようにアダプターを構成します。 ACCOUNTACTIVITY テーブルの列が "TID"、"Account"、"Processed" であると仮定します。 新しいレコードが追加されるたびに、"処理済み" 列の値は 'n' に設定されます。 そのため、増分通知を取得するには、BizTalk オーケストレーションの一部として次のタスクを実行する必要があります。

  • "処理済み" が 'n' であるすべてのレコードの通知を取得します。 これを行うには、通知ステートメントとして SELECT ステートメントを指定します。

  • 特定のレコードの通知を受信したら、"処理済み" を "y" に設定します。 これを行うには、"処理済み" 列を更新するストアド プロシージャ (PROCESS_RECORDS) を実行します。

    増分通知の受信を示すために、次の操作を行います。

  • ACCOUNTACTIVITY テーブルに対する 通知 (受信操作)、 およびPROCESS_RECORDS (送信操作) のスキーマを生成します。

  • 次のようなオーケストレーションを作成します。

    • 通知メッセージを受信する受信場所。 通知用に構成するには、SELECT ステートメントを次のように指定します。

      SELECT TID,ACCOUNT,PROCESSED FROM SCOTT.ACCOUNTACTIVITY WHERE PROCESSED = ‘n’
      

      スキーマ名と共にテーブル名を指定する必要があります。 たとえば、SCOTT.ACCOUNTACTIVITY のようにします。

    • 通知が既に送信されている行を更新する送信ポート。 このポートで PROCESS_RECORDS ストアド プロシージャを実行して、通知を受信するレコードの "処理済み" 列の値を 'y' に設定します。

      この操作は、処理された行が更新されるように、通知メッセージを受信した後に実行する必要があることに注意してください。 オーケストレーション内でPROCESS_RECORDSプロシージャ用の要求メッセージを生成することで、通知応答の取得を待ち、手動で要求メッセージを送信する必要を取り除くことができます。 これを行うには、オーケストレーション内で メッセージの構築 図形を使用します。

Oracle データベースから通知メッセージを受信する方法

BizTalk Server で Oracle データベース アダプターを使用して Oracle データベースに対して操作を実行するには、「Oracle Database を使用して BizTalk アプリケーションを開発するための構成要素」で説明されている手順に従います。 通知メッセージを受信するようにアダプターを構成するには、次のタスクを実行します。

  1. BizTalk プロジェクトを作成し、ACCOUNTACTIVITY テーブルの 通知 (受信操作) および PROCESS_RECORDS プロシージャ (送信操作) のスキーマを生成します。 必要に応じて、 InboundOperationTypeNotificationPort、および NotificationStatement バインディング プロパティの値を指定できます。

  2. Oracle データベースから通知を受信するためのメッセージを BizTalk プロジェクトに作成します。

  3. PROCESS_RECORDS ストアド プロシージャを実行し、応答メッセージを受信するためのメッセージを BizTalk プロジェクトに作成します。

  4. 次の処理を行うオーケストレーションを作成します。

    • Oracle データベースから通知メッセージを受信します。

    • PROCESS_RECORDS プロシージャを実行するメッセージを作成します。

    • このメッセージを Oracle データベースに送信して、レコードを選択して更新し、応答を受信します。

  5. BizTalk プロジェクトをビルドして展開します。

  6. 物理送受信ポートを作成して BizTalk アプリケーションを構成します。

    受信用の操作では、通知メッセージの受信など、一方向の WCF-Custom または WCF-OracleDB 受信ポートのみを構成する必要があります。 双方向の受信ポートは、受信操作ではサポートされていません。

  7. BizTalk アプリケーションを起動します。

    このトピックでは、これらのタスクを実行する手順について説明します。

スキーマの生成

Notification 操作と PROCESS_RECORDS プロシージャのスキーマを生成する必要があります。 スキーマを生成する方法の詳細については、 Visual Studio での Oracle 操作のメタデータの取得 に関するページを参照してください。 スキーマを生成するときは、次のタスクを実行します。 デザイン時にバインド プロパティを指定しない場合は、最初の手順をスキップします。

  1. スキーマの生成中に、 InboundOperationTypeNotificationPort、および NotificationStatement バインディング プロパティの値を指定します。 このバインディング プロパティの詳細については、「 BizTalk Adapter for Oracle Database Binding Properties の使用」を参照してください。 バインディング プロパティを指定する方法については、「バインディング プロパティ の指定」を参照してください。

  2. 契約の種類として サービス(インバウンド業務) を選択します。

  3. 通知操作のスキーマを生成します。

  4. コントラクトの種類として クライアント (送信操作) を選択します。

  5. PROCESS_RECORDS プロシージャのスキーマを生成します。 この手順は、 ACCOUNT_PKG パッケージで使用できます。

メッセージとメッセージの種類の定義

前に生成したスキーマでは、オーケストレーション内のメッセージに必要な "型" が記述されています。 通常、メッセージは変数であり、対応するスキーマによって定義される型です。 スキーマが生成されたら、BizTalk プロジェクトのオーケストレーション ビューからメッセージにリンクする必要があります。

このトピックでは、3 つのメッセージを作成する必要があります。1 つは Oracle データベースから通知を受信し、1 つは PROCESS_RECORDS プロシージャを実行し、1 つはプロシージャの応答を受信します。

メッセージを作成し、スキーマにリンクするには、次の手順を実行します。

  1. BizTalk プロジェクトにオーケストレーションを追加します。 ソリューション エクスプローラーで、BizTalk プロジェクト名を右クリックし、[ 追加] をポイントして、[ 新しい項目] をクリックします。 BizTalk オーケストレーションの名前を入力し、[ 追加] をクリックします。

  2. まだ開いていない場合は、BizTalk プロジェクトのオーケストレーション ビュー ウィンドウを開きます。 [ 表示] をクリックし、[ その他のウィンドウ] をポイントし、[ オーケストレーション ビュー] をクリックします。

  3. オーケストレーション ビューで、[メッセージ] を右クリックし、[新しいメッセージ] をクリックします。

  4. 新しく作成したメッセージを右クリックし、[ プロパティ ウィンドウ] を選択します。

  5. Message_1[プロパティ] ウィンドウで、次の操作を行います。

    これを使用する 目的
    識別子 NotifyReceive」と入力します。
    メッセージの種類 ドロップダウン リストから [ スキーマ] を展開し、 OracleNotifyIncremental.OracleDBBinding.Notification を選択します。 OracleNotifyIncremental は BizTalk プロジェクトの名前です。 OracleDBBinding は、 通知 操作用に生成されるスキーマです。
  6. 手順 3 を繰り返して、2 つの新しいメッセージを作成します。 新しいメッセージの [プロパティ ] ウィンドウで、次の操作を行います。

    識別子を設定 メッセージの種類を設定する
    プロシージャ OracleNotifyIncremental.OracleDBBinding1.PROCESS_RECORDSOracleDBBinding1、PROCESS_RECORDS プロシージャ用に生成されたスキーマです。
    ProcedureResponse OracleNotifyIncremental.OracleDBBinding1.PROCESS_RECORDSResponse

オーケストレーションの設定

BizTalk オーケストレーションを作成して、Oracle データベースから通知メッセージを受信し、通知を受信した行を更新するために BizTalk Server を使用する必要があります。 このオーケストレーションでは、アダプターは NotificationStatement バインディング プロパティに指定された SELECT ステートメントに基づいて通知メッセージを受信します。 通知メッセージは FILE の場所で受信されます。 応答を受信すると、オーケストレーションはPROCESS_RECORDSプロシージャを呼び出すメッセージを作成し、通知を受信する行を更新します。 このメッセージの応答は、同じ FILE の場所でも受信されます。

そのため、オーケストレーションには次のものが含まれている必要があります。

  • 通知メッセージを受信する一方向の WCF-Custom または WCF-OracleDB 受信ポート。

  • PROCESS_RECORDS プロシージャを実行するメッセージを送信する双方向の WCF-Custom または WCF-OracleDB 送信ポート。

  • オーケストレーション内でPROCESS_RECORDSプロシージャを実行するためのメッセージを構築するメッセージ構築図形。

  • PROCESS_RECORDS プロシージャの通知メッセージと応答を保存する FILE 送信ポート。

  • 図形を受信および送信します。

    サンプル オーケストレーションは次のようになります。

    Oracleから通知を受信するオーケストレーション

メッセージ図形の追加

メッセージ図形ごとに次のプロパティを指定してください。 [図形] 列に一覧表示される名前は、先ほど説明したオーケストレーションに表示されるメッセージ図形の名前です。

図形の種類 特性
通知を受け取る 受け取る - 名前ReceiveNotification に設定する

- アクティブ化True に設定する
保存通知 送信 - 名前SaveNotification に設定する
センドプロックメッセージ (SendProcMessage) 送信 - 名前SendProcMessage に設定する
プロセス応答を受信 受け取る - 名前ReceiveProcResponse に設定する
SaveProcResponse 送信 - 名前SaveProcResponse に設定する

メッセージ構築シェイプの追加

[ メッセージの構築] 図形を使用すると、オーケストレーション内で要求メッセージを生成し、PROCESS_RECORDS プロシージャを実行できます。 そのためには、 メッセージの構築 図形を追加し、その中に メッセージの割り当て 図形をオーケストレーションに追加する必要があります。 この例では、 メッセージ割り当て 図形は、プロシージャを実行するために Oracle データベースに送信されるメッセージを生成するコードを呼び出します。 [メッセージの割り当て] 図形では、Oracle データベースに送信するメッセージのアクションも設定します。

メッセージ構築図形の場合は、 Message Constructed プロパティを Procedure に設定 します

応答を生成するコードは、BizTalk プロジェクトと同じ Visual Studio ソリューションの一部である可能性があります。 応答メッセージを生成するためのサンプル コードは次のようになります。

namespace SampleMessageCreator
{
    public class SampleMessageCreator
    {
        private static XmlDocument Message;
        private static string XmlFileLocation;
        private static string ResponseDoc;

        public static XmlDocument XMLMessageCreator()
        {
            XmlFileLocation = "C:\\TestLocation\\MessageIn";
            try
            {
                ResponseDoc = (Directory.GetFiles(XmlFileLocation, "*.xml", SearchOption.TopDirectoryOnly))[0];
            }
            catch (Exception ex)
            {
                Console.WriteLine("Trying to get XML from: " + XmlFileLocation);
                Console.WriteLine("EXCEPTION: " + ex.ToString());
                throw ex;
            }
            //Create Message From XML
            Message = new XmlDocument();
            Message.PreserveWhitespace = true;
            Message.Load(ResponseDoc);
            return Message;
        }
    }
}

上記のコードの抜粋で要求メッセージを生成できるようにするには、 XmlFileLocation 変数に指定された場所に XML 要求メッセージ (PROCESS_RECORDS プロシージャ用) が必要です。

プロジェクトをビルドすると、プロジェクト ディレクトリに MessageCreator.dll が作成されます。 この DLL をグローバル アセンブリ キャッシュ (GAC) に追加する必要があります。 また、MessageCreator.dll を参照として BizTalk プロジェクトに追加する必要があります。

次の式を追加して、 メッセージ割り当て 図形からこのコードを呼び出し、メッセージのアクションを設定します。 式を追加するには、[ メッセージの割り当て] 図形をダブルクリックして式エディターを開きます。

Procedure = SampleMessageCreator.SampleMessageCreator.XMLMessageCreator();
Procedure(WCF.Action) = "http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG/PROCESS_RECORDS";

ポートの追加

論理ポートごとに次のプロパティを指定してください。 [ポート] 列に表示される名前は、オーケストレーションに表示されるポートの名前です。

港 / ポート 特性
OracleNotifyPort - 識別子OracleNotifyPort に設定する

- OracleNotifyPortType に設定する

- 通信パターン一方向に設定する

- 通信方向受信に設定する
SaveMessagePort - 識別子SaveMessagePort に設定する

- SaveMessagePortType に設定する

- 通信パターン一方向に設定する

- 通信方向送信に設定する

- 通知操作を作成します。 この操作は、通知メッセージに使用されます。

- 操作プロシージャを作成 します。 この操作は、選択応答メッセージに使用されます。
オラクル外部ポート - 識別子OracleOutboundPort に設定する

- OracleOutboundPortType に設定する

- 通信パターンRequest-Response に設定する

- 通信方向送受信に設定する

アクション図形のメッセージを指定し、ポートに接続する

次の表では、アクション図形のメッセージを指定し、メッセージをポートにリンクするために設定するプロパティとその値を指定します。 [図形] 列に表示される名前は、前述のオーケストレーションに表示されるメッセージ図形の名前です。

特性
通知を受け取る - メッセージNotifyReceive に設定する

- 操作OracleNotifyPort.Notify.Request に設定する
保存通知 - メッセージNotifyReceive に設定する

- SaveMessagePort.Notify.Request操作を設定する
センドプロックメッセージ (SendProcMessage) - メッセージプロシージャに設定する

- 操作OracleOutboundPort.Procedure.Request に設定する
プロセス応答を受信 - メッセージProcedureResponse に設定する

- 操作OracleOutboundPort.Procedure.Response に設定する
SaveProcResponse - メッセージProedureResponse に設定する

- SaveMessagePort.Procedure.Request操作を設定する

これらのプロパティを指定すると、メッセージの図形とポートが接続され、オーケストレーションが完了します。

BizTalk ソリューションをビルドし、BizTalk Server に展開する必要があります。 詳細については、「オーケストレーションの ビルドと実行」を参照してください。

BizTalk アプリケーションの構成

BizTalk プロジェクトを展開すると、前に作成したオーケストレーションが BizTalk Server 管理コンソールの [ オーケストレーション ] ウィンドウの下に一覧表示されます。 BizTalk Server 管理コンソールを使用してアプリケーションを構成する必要があります。 チュートリアルについては、「 チュートリアル: 基本的な BizTalk アプリケーションの展開」を参照してください。

アプリケーションの構成には、次の作業が含まれます。

  • アプリケーションのホストの選択。

  • オーケストレーションで作成したポートを BizTalk Server 管理コンソールの物理ポートにマッピングします。 このオーケストレーションでは、次の操作を行う必要があります。

    • 物理 WCF-Custom または一方向の受信ポート WCF-OracleDB 定義します。 このポートは、Oracle データベースからの通知をリッスンします。 受信ポートを作成する方法については、「 Oracle データベース アダプターへの物理ポート バインドを手動で構成する」を参照してください。 受信ポートには、次のバインド プロパティを指定してください。

      Von Bedeutung

      デザイン時にバインド プロパティを指定した場合は、この手順を実行する必要はありません。 このような場合は、必要なバインディング プロパティを設定して受信ポートを作成できます。この場合は、アダプターサービスアドインによって作成されたバインド ファイルをインポートします。 詳細については、「 Oracle Database へのポート バインド ファイルを使用して物理ポート バインドを構成する」を参照してください。

      バインディングプロパティ 価値
      InboundOperationType これを [通知] に設定します。
      NotificationPort Oracle データベースからのデータベース変更通知を受け取るために、ODP.NET がリッスンする必要があるポート番号を指定します。 これを、Windows ファイアウォールの例外リストに追加する必要があるのと同じポート番号に設定します。 Windows ファイアウォールの例外リストにポートを追加する方法については、 https://go.microsoft.com/fwlink/?LinkID=196959を参照してください。

      大事な: これを既定値 -1 に設定した場合、通知メッセージを受信するには Windows ファイアウォールを完全に無効にする必要があります。
      NotificationStatement 次の設定を行います。

      SELECT TID,ACCOUNT,PROCESSED FROM SCOTT.ACCOUNTACTIVITY WHERE PROCESSED = ‘n’

      手記: スキーマ名と共にテーブル名を指定する必要があります。 たとえば、SCOTT.ACCOUNTACTIVITY のようにします。
      NotifyOnListenerStart これを True に設定 します

      さまざまなバインディング プロパティの詳細については、「 BizTalk Adapter for Oracle Database Binding Properties の使用」を参照してください。

      Oracle Database アダプターを使用して受信操作を実行するときに、トランザクション分離レベルとトランザクション タイムアウトを構成することをお勧めします。 サービス動作を WCF-Custom または WCF-OracleDB 受信ポートの構成時に追加します。 サービスの動作を追加する方法については、「 トランザクション分離レベルとトランザクション タイムアウトの構成」を参照してください。

    • 物理 WCF-Custom または送信ポート WCF-OracleDB 定義して、PROCESS_REOCRDS プロシージャを実行するメッセージを Oracle データベースに送信します。 また、送信ポートでアクションを指定する必要があります。

    • ハード ディスク上の場所と、BizTalk オーケストレーションが Oracle データベースからメッセージを削除する対応するファイル ポートを定義します。 これらは、Oracle データベースから受信した通知メッセージおよび、WCF-Custom または WCF-OracleDB の送信ポートを介して実行するPROCESS_RECORDSプロシージャのメッセージです。

アプリケーションの起動

Oracle データベースから通知メッセージを受信し、PROCESS_RECORDS プロシージャを実行するために BizTalk アプリケーションを起動する必要があります。 BizTalk アプリケーションを起動する手順については、「オーケストレーションを 開始する方法」を参照してください。

この段階で、次のことを確認します。

  • WCF-Custom または WCF-OracleDB Oracle データベースから通知メッセージを受信する一方向の受信ポートが実行されています。

  • PROCESS_RECORDS プロシージャを実行するための WCF-Custom または WCF-OracleDB 送信ポートが実行されています。

  • Oracle データベースからメッセージを受信する FILE 送信ポートが実行されています。

  • 操作の BizTalk オーケストレーションが実行されています。

操作の実行

ACCOUNTACTIVITY テーブルに既にいくつかのレコードがあるとします。 また、PROCESS_RECORDSプロシージャを実行する XML メッセージが C:\TestLocation\MessageIn で使用できることを確認します。 XML ファイルは次のようになります。

<PROCESS_RECORDS xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG"/>

BizTalk オーケストレーションが開始されると、次の一連のアクションが同じ順序で実行されます。

  • アダプターは、次のような通知メッセージを受信します。

    \<?xml version="1.0" encoding="utf-8" ?\>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Info>ListenerStarted</Info>
      <Source>OracleDBBinding</Source>
      <Type>Startup</Type>
    </Notification>
    

    このメッセージは、通知メッセージを受信するための受信ポートが開始されたことを通知します。 <Info>要素の値は "ListnerStarted" であることに注意してください。

  • アダプターは、PROCESS_RECORDSプロシージャを実行します。 Oracle データベースからの次の応答は、この手順に対する応答です。

    <?xml version="1.0" encoding="utf-8" ?>
    <PROCESS_RECORDSResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG">
      <TABLE_DATA>
        <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
          <xs:element msdata:IsDataSet="true" name="NewDataSet">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="NewTable">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element minOccurs="0" name="TID" type="xs:decimal" />
                      <xs:element minOccurs="0" name="ACCOUNT" type="xs:decimal" />
                      <xs:element minOccurs="0" name="PROCESSED" type="xs:string" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:schema>
        <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
        <NewDataSet xmlns="">
          <NewTable>
            <TID>1</TID>
            <ACCOUNT>100001</ACCOUNT>
            <PROCESSED>n</PROCESSED>
          </NewTable>
          <NewTable>
            ......
            ......
          </NewTable>
          ......
          ......
        </NewDataSet>
        </diffgr:diffgram>
      </TABLE_DATA>
    </PROCESS_RECORDSResponse>
    

    これは、PROCESS_RECORDS プロシージャの一部として実行される SELECT ステートメントの応答です。

  • また、PROCESS_RECORDSプロシージャは、PROCESSED を 'y' に設定するように行を更新します。 そのため、アダプターは更新操作に関する別の通知を受け取ります。

    <?xml version="1.0" encoding="utf-8" ?>
    <Notification xmlns="http://Microsoft.LobServices.OracleDB/2007/03/Notification/">
      <Details>
        <NotificationDetails>
          <ResourceName>SCOTT.ACCOUNTACTIVITY</ResourceName>
          <Info>32</Info>
          <QueryId>0</QueryId>
        </NotificationDetails>
      </Details>
      <Info>Update</Info>
      <ResourceNames>
        <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">SCOTT.ACCOUNTACTIVITY</string>
      </ResourceNames>
      <Source>Data</Source>
      <Type>Change</Type>
    </Notification>
    

    Info要素には "Update" が含まれていることに注意してください。

  • 2 番目の通知の後、アダプターは再びPROCESS_RECORDSプロシージャを実行します。 ただし、PROCESSED 列が 'n' に設定されているレコードがないため、プロシージャは次のような空の応答を返します。

    <?xml version="1.0" encoding="utf-8" ?>
    <PROCESS_RECORDSResponse xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/ACCOUNT_PKG">
      <TABLE_DATA>
        <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
          <xs:element msdata:IsDataSet="true" name="NewDataSet">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="NewTable">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element minOccurs="0" name="TID" type="xs:decimal" />
                      <xs:element minOccurs="0" name="ACCOUNT" type="xs:decimal" />
                      <xs:element minOccurs="0" name="PROCESSED" type="xs:string" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:schema>
        <diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
          <NewDataSet xmlns="" />
        </diffgr:diffgram>
      </TABLE_DATA>
    </PROCESS_RECORDSResponse>
    

ベスト プラクティス

BizTalk プロジェクトを展開して構成したら、構成設定をバインド ファイルと呼ばれる XML ファイルにエクスポートできます。 バインド ファイルを生成したら、同じオーケストレーションの送信ポートと受信ポートを作成する必要がないように、ファイルから構成設定をインポートできます。 バインド ファイルの詳細については、「 Oracle データベース アダプターのバインドを再利用する」を参照してください。

こちらもご覧ください

BizTalk Server を使用した Oracle データベース変更通知の受信