共用方式為


使用 BizTalk Server 以累加方式接收 Oracle 資料庫變更通知

這很重要

為了簡潔起見,本主題只會說明如何以累加方式接收通知。 在商務案例中,協調流程必須理想地包含邏輯,以擷取收到的通知訊息種類,然後執行任何後續作業。 換句話說,本主題所述的協調流程必須建立在處理通知訊息中所述的協調流程之上, 才能使用 BizTalk Server 完成 Oracle 資料庫中的特定工作

本主題示範如何設定 Oracle 資料庫配接器,以接收來自 Oracle 的累加查詢通知訊息。 為了示範漸進式通知,我們考慮使用「已處理」欄的資料表 ACCOUNTACTIVITY。 將新記錄插入此數據表時,“Processed” 資料行的值會設定為 'n'。 您可以執行下列動作,將配接器設定為接收累加通知:

  • 使用 SELECT 語句設定通知,以擷取所有「Processed」欄位為『n』的記錄。 您可以指定 NotificationStatement 系結 屬性的 SELECT 語句來執行此動作。

  • 對於已收到通知的數據列,請將 「Processed」 資料行更新為 『y』。

    本主題示範如何建立 BizTalk 協調流程,並設定 BizTalk 應用程式以達成此目的。

使用 Oracle 資料庫適配器綁定屬性配置通知

下表摘要說明您用來設定從 Oracle 資料庫接收通知的 Oracle Database 配接器系結屬性。 您必須在 BizTalk Server 管理控制台中設定接收埠時指定這些系結屬性。

備註

在產生 通知 作業的架構時,您可以選擇指定這些系結屬性,即使它並非必要也一樣。 如果您這樣做,那麼「取用配接器服務外掛程式」作為中繼資料生成過程的一部分所產生的埠系結檔案,也會包含您為系結屬性指定的值。 您稍後可以在 BizTalk Server 管理控制台中匯入此系結檔案,以建立已設定系結屬性的 WCF 自定義或 WCF-OracleDB 接收埠。 如需使用系結檔案建立接收埠的詳細資訊,請參閱 使用埠系結檔案設定實體埠系結至 Oracle Database

綁定屬性 說明
InboundOperationType 指定您要執行的輸入作業。 若要接收通知訊息,請將此設定為 [通知]。
NotificationPort 指定 ODP.NET 必須開啟的埠號碼,以接聽 Oracle 資料庫中的資料庫變更通知。
NotificationStatement 指定用來註冊查詢通知的SELECT語句。 只有在指定 SELECT 語句的結果集變更時,配接器才會取得通知訊息。
NotifyOnListenerStart 指定當接聽程序啟動時,配接器是否傳送通知給配接器用戶端。

如需這些屬性的更完整描述,請參閱 使用 BizTalk Adapter for Oracle 資料庫系結屬性。 如需如何使用 Oracle 資料庫配接器接收 Oracle 資料庫通知的完整描述,請閱讀進一步。

本主題如何示範接收通知訊息

在本主題中,為了示範 Oracle 資料庫配接器如何支援從 Oracle 資料庫接收累加資料庫變更通知訊息,我們將設定配接器以接收 ACCOUNTACTIVTY 數據表變更的通知。 讓我們假設 ACCOUNTACTIVITY 資料表有數據行 「TID」、“Account” 和 “Processed”。 每當新增記錄時,“Processed” 資料行的值就會設定為 'n'。 因此,若要取得累加通知,您必須在 BizTalk 協調流程中執行下列工作:

  • 取得「已處理」為 『n』 的所有記錄的通知。 您可以藉由將 SELECT 語句指定為通知語句來執行這項作。

  • 收到特定記錄的通知之後,請將 「Processed」 設定為 『y』。 您可以執行預存程式 PROCESS_RECORDS,以更新 「已處理」數據行來執行此動作。

    為了示範接收累加通知,我們會執行下列動作:

  • 在 ACCOUNTACTIVITY 數據表上產生 通知 (輸入作業)和 PROCESS_RECORDS (輸出作業)的架構。

  • 建立具有下列各項的協調流程:

    • 用於接收通知訊息的位置。 您可以藉由將 SELECT 語句指定為下列項目來設定通知:

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

      備註

      您必須指定資料表名稱以及架構名稱。 例如: SCOTT.ACCOUNTACTIVITY

    • 傳送埠,用來更新已傳送通知的數據列。 您將在此埠上執行PROCESS_RECORDS預存程式,以針對接收通知的記錄,將 “Processed” 資料行的值設定為 'y'。

      請注意,在收到通知訊息之後,必須執行這項作業,以便更新已處理的數據列。 若要徹底消除等候取得通知回應的額外負荷,以及手動發送要求訊息以執行PROCESS_RECORDS程式,您將在編排內生成PROCESS_RECORDS程式的要求訊息。 您可以在協同作業中使用 建構訊息 圖形來完成此操作。

如何從 Oracle 資料庫接收通知訊息

搭配 BizTalk Server 使用 Oracle 資料庫配接器在 Oracle 資料庫上執行作業牽涉到建置組塊中所述的程式性工作 ,以使用 Oracle Database 開發 BizTalk 應用程式。 若要設定配接器以接收通知訊息,這些工作如下:

  1. 建立 BizTalk 專案,然後在 ACCOUNTACTIVITY 數據表上產生 通知 (輸入作業)和 PROCESS_RECORDS 程式(輸出作業)的架構。 您可以選擇性地指定 InboundOperationTypeNotificationPortNotificationStatement 系結 屬性的值。

  2. 在 BizTalk 專案中建立訊息,以接收來自 Oracle 資料庫的通知。

  3. 在 BizTalk 專案中建立訊息,以執行PROCESS_RECORDS預存程式和接收回應消息。

  4. 建立執行下列動作的協調流程:

    • 從 Oracle 資料庫接收通知訊息。

    • 建立訊息以執行PROCESS_RECORDS程式。

    • 將此訊息傳送至 Oracle 資料庫,以選取並更新記錄並接收回應。

  5. 建置及部署 BizTalk 專案。

  6. 藉由建立實體傳送和接收埠來設定 BizTalk 應用程式。

    備註

    針對輸入作業,例如接收通知訊息,您只能設定單向 WCF-Custom 或 WCF-OracleDB 接收埠。 不支援輸入操作的雙向接收埠。

  7. 啟動 BizTalk 應用程式。

    本主題提供執行這些工作的指示。

產生架構

您必須產生 通知 作業和 PROCESS_RECORDS 程式的架構。 如需如何產生架構的詳細資訊,請參閱 在Visual Studio中擷取Oracle作業的元數據 。 產生架構時,請執行下列工作。 如果您不想在設計時間指定系結屬性,請略過第一個步驟。

  1. 在產生架構時,指定 InboundOperationTypeNotificationPortNotificationStatement 系結 屬性的值。 如需此系結屬性的詳細資訊,請參閱 使用 BizTalk Adapter for Oracle 資料庫系結屬性。 如需如何指定系結屬性的指示,請參閱 指定系結屬性

  2. 選擇合約類型為 服務(輸入作業)

  3. 產生 通知 作業的架構。

  4. 選擇合約類型為客戶(輸出作業)

  5. 產生 PROCESS_RECORDS 程序的架構。 此程式可在 ACCOUNT_PKG 套件下取得。

定義訊息和訊息類型

您稍早產生的架構描述協調流程中訊息所需的「類型」。 訊息通常是變數,其類型是由對應的架構所定義。 一旦架構產生後,您必須從 BizTalk 專案的 Orchestration 視圖中將其連結到訊息。

針對本主題,您必須建立三個訊息:一個接收來自 Oracle 資料庫的通知、一個用來執行PROCESS_RECORDS程式,另一個用來接收程序的回應。

執行下列步驟來建立訊息,並將其連結至架構。

  1. 將協調流程新增至 BizTalk 專案。 從方案總管中,以滑鼠右鍵按兩下 BizTalk 專案名稱,指向 [ 新增],然後按兩下 [ 新增專案]。 輸入 BizTalk 協調流程的名稱,然後按兩下 [ 新增]。

  2. 如果 BizTalk 專案尚未開啟,請開啟協調流程檢視視窗。 按一下 檢視,指向 其他 Windows,然後按一下 協調流程檢視

  3. 協調流程檢視中,以滑鼠右鍵按兩下 [ 訊息],然後按兩下 [ 新增訊息]。

  4. 以滑鼠右鍵按下新建立的訊息,然後選取 [ 屬性視窗]。

  5. 屬性 窗格中,對 Message_1 執行下列動作:

    使用此 若要這樣做
    識別碼 輸入 NotifyReceive
    訊息類型 從下拉式清單中,展開 [架構],然後選取 [OracleNotifyIncremental.OracleDBBinding.Notification],其中 OracleNotifyIncremental 是 BizTalk 項目的名稱。 OracleDBBinding 是針對 通知 作業所產生的架構。
  6. 重複步驟3以建立兩個新訊息。 在新訊息的 [ 屬性 ] 窗格中,執行下列動作:

    將標識碼設定為 將訊息類型設定為
    程序 OracleNotifyIncremental.OracleDBBinding1.PROCESS_RECORDS,其中 OracleDBBinding1 是針對 PROCESS_RECORDS 程式產生的架構。
    程序回應 OracleNotifyIncremental.OracleDBBinding1.PROCESS_RECORDSResponse

設定協調流程

您必須建立 BizTalk 協調流程,才能使用 BizTalk Server 從 Oracle 資料庫接收通知訊息,然後更新接收通知的數據列。 在此協調流程中,配接器會根據針對 NotificationStatement 系結屬性指定的 SELECT 語句接收通知訊息。 在 FILE 位置會收到通知訊息。 收到回應之後,協調流程會建構訊息以叫用PROCESS_RECORDS程式,以更新接收通知的數據列。 此訊息的回應也會在相同的 FILE 位置接收。

因此,您的協調流程必須包含下列專案:

  • 單向 WCF-Custom 或 WCF-OracleDB 接收埠以接收通知訊息。

  • 雙向 WCF-Custom 或 WCF-OracleDB 傳送埠以傳送訊息以執行PROCESS_RECORDS程式。

  • 建構訊息圖形,用來建構訊息,以在協調流程內執行PROCESS_RECORDS程式。

  • FILE 傳送埠,用來儲存PROCESS_RECORDS程式的通知訊息和回應。

  • 接收和傳送圖形。

    範例編排如下所示。

    接收來自 Oracle 的通知的協調流程

新增訊息圖形

請確定您為每個訊息圖形指定下列屬性。 Shape 數據行中所列的名稱是訊息圖形的名稱,如剛才提及的協調流程所示。

形狀 圖形類型 性能
接收通知 收到 - 將 名稱 設定為 接收通知

- 將 Activate 設定為 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 - 將 標識符 設定為 OracleOutboundPort

- 將 Type 設定為 OracleOutboundPortType

- 將 通訊模式 設定為 要求-回應

- 將 通訊方向 設定為 傳送接收

指定動作圖形的訊息並連線到埠

下表指定您應該設定的屬性及其值,以配置動作圖形的訊息並將其連結至埠。 Shape 數據行中所列的名稱是訊息圖形的名稱,如先前所述的協調流程所示。

形狀 性能
接收通知 - 將 訊息 設定為 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 資料庫配接器。 請確定您為接收埠指定下列系結屬性。

      這很重要

      如果您在設計時間指定系結屬性,就不需要執行此步驟。 在這種情況下,您可以通過匯入由消耗配接器服務附加元件建立的系結檔案,來建立接收埠,並設置必要的系結屬性。 如需詳細資訊,請參閱 使用埠系結檔案設定實體埠系結至 Oracle Database

      綁定屬性 價值觀
      InboundOperationType 將此設定為 [通知]。
      NotificationPort 指定 ODP.NET 必須開啟的埠號碼,以接聽 Oracle 資料庫中的資料庫變更通知。 將此設定為您必須新增至 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 資料庫系結屬性

      備註

      建議您在使用 Oracle 資料庫配接器執行輸入作業時,設定交易隔離等級和交易逾時。 您可以藉由在設定 WCF-Custom 或 WCF-OracleDB 接收埠時新增服務行為來執行此動作。 如需如何新增服務行為的指示,請參閱 設定交易隔離等級和交易逾時

    • 定義實體 WCF-Custom 或 WCF-OracleDB 傳送埠,以將訊息傳送至 Oracle 資料庫以執行PROCESS_REOCRDS程式。 您也必須在傳送埠中指定動作。

    • 在硬碟上定義一個位置以及一個對應的檔案端口,BizTalk 協調流程將把從 Oracle 資料庫來的訊息放置於此。 這些通知訊息來自 Oracle 資料庫,以及透過 WCF-Custom 或 WCF-OracleDB 傳送埠執行的 PROCESS_RECORDS 過程的訊息。

啟動應用程式

您必須啟動 BizTalk 應用程式,才能從 Oracle 資料庫接收通知訊息,以及執行PROCESS_RECORDS程式。 如需啟動 BizTalk 應用程式的指示,請參閱 如何啟動協調流程

在這個階段,請確定:

  • WCF-Custom 或 WCF-OracleDB 單向接收埠,它接收 Oracle 資料庫的通知訊息,正在運行中。

  • 用於執行PROCESS_RECORDS程式的 WCF-Custom 或 WCF-OracleDB 傳送埠正在運行中。

  • 從 Oracle 資料庫接收訊息的 FILE 傳送埠正在執行中。

  • 作業的 BizTalk 協調流程正在執行中。

執行作業

假設 ACCOUNTACTIVITY 數據表已經有一些記錄。 此外,請確定 C:\TestLocation\MessageIn 提供執行PROCESS_RECORDS程式的 XML 訊息。 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>
    

    這是 SELECT 語句在PROCESS_RECORDS程式中執行的回應。

  • 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」。

  • 在第二個通知之後,配接器會再次執行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 資料庫變更通知