BizTalk Serverを使用して Oracle データベース変更通知を受信する
Oracle データベースからデータベース変更通知メッセージを受信するように Oracle Database アダプターを構成できます。 アダプターが Oracle データベースへの通知の登録に使用する SELECT ステートメントを指定できます。 通知用に登録された SELECT ステートメントの結果セットが変更されると、アダプターは通知メッセージを受け取ります。 アダプターが通知をサポートする方法の詳細については、「 Oracle データベース アダプターを使用したデータベース変更通知の受信に関する考慮事項」を参照してください。
Oracle データベースから通知を受け取るBizTalk Serverを使用して Oracle Database アダプターを構成できるシナリオを次に示します。
アダプター クライアントは、たとえば、最後の通知以降にデータベース テーブルに対して行われた変更に対してのみ、"増分" 通知のみを受け取ります。
データベース テーブルに多数の行が挿入されている場合、アダプター クライアントは、受信通知の負荷分散を行うために複数の受信場所を構成できます。
アダプター クライアントは、通知メッセージを受信すると、受信した通知の種類に基づいて特定のタスクを実行できます。 たとえば、BizTalk オーケストレーションは、挿入通知を受信した場合は 1 つのタスク セットを実行し、更新通知を受信した場合は別のタスク セットを実行するように設計できます。
注意事項
Oracle データベースとアダプター クライアントの間でネットワーク障害が発生した場合、ネットワーク停止の期間中に Oracle データベースで行われた変更に関する通知はアダプター クライアントに送信されません。 そのため、重要なシナリオでは、通知操作の代わりにポーリング操作を使用する必要があります。
このセクションのトピックでは、これらのシナリオごとにアダプターを構成する方法について説明します。 Oracle Database アダプターを使用して Oracle データベースから通知を受け取り始めるには、特定のバインド プロパティを指定する必要があります。 通知に関連するバインド プロパティの詳細については、「バインド プロパティの 操作」を参照してください。 通知メッセージの構造の詳細については、「通知 操作のメッセージ スキーマ」を参照してください。
Oracle データベースから通知を受け取る場合は、次のことを確認します。
アダプターを使用して、Oracle データベース バージョン 10.2 以降に接続します。 10.2 より前のバージョンの Oracle データベースでは、通知はサポートされていません。
通知のために Oracle に接続するために使用する資格情報には、特権があります
change notification
。 この特権は、データベース変更通知を受信するために必要です。 これを行うには、管理特権を使用して Oracle データベースに接続し、SQL プロンプトで次のコマンドを入力します。grant change notification to <user name>
Oracle データベースからデータベース変更通知を受信するために ODP.NET 使用する TCP ポートを決定します。 そのポートを Windows ファイアウォールの例外リストに追加します。 Windows ファイアウォールの例外の一覧にポートを追加する方法については、「」を参照してください https://go.microsoft.com/fwlink/?LinkID=196959。 NotificationPort バインド プロパティには、同じポート番号を指定する必要があります。 バインド プロパティの詳細については、「バインド プロパティの 操作」を参照してください。