共用方式為


使用 BizTalk Server 在 SQL Server 中使用單一 XML 參數執行預存程式

執行採用單一參數的預存程式,類似於執行任何其他預存程式,如 使用 BizTalk Server 在 SQL Server 中執行預存程式中所述。 不過,針對上述連結中所述的方法,您必須在設計時間產生預存程式的元數據,並建立協調流程,以在運行時間叫用程式。

假設您只想將一個單一值傳遞至預存程式,而不需對該值進行任何處理。 在這種情況下,您不希望產生元數據、建立協調流程、部署協調流程和執行作業的額外負荷。 相反地,您可以設定 WCF-Custom 或 WCF-SQL 傳送埠來直接叫用預存程式。 本主題示範如何使用 BizTalk Server 管理控制台來執行這些工作。

備註

本主題提供如何設定 WCF-Custom 傳送埠以執行採用單一參數之預存程式的指示。 您可以藉由設定 WCF-SQL 埠來執行相同的步驟。 如需設定 WCF-SQL 埠的指示,請參閱 使用 WCF-SQL 配接器設定埠

在沒有協調流程的情況下叫用預存程式

為了示範如何使用沒有協調流程的單一參數執行預存程式,本主題會使用ADD_LAST_EMP_XML_INFO預存程式。 此程式會採用 XML 值做為參數,並將它插入 Employee 資料表的 Address 資料行。 您必須具有要傳遞至預存程式的 XML 值。 不過,若要使用配接器執行預存程式,您必須將符合程序架構的要求訊息,以及包含 [位址 ] 字段的 XML 值傳送至 SQL Server。 因此,您必須透過下列方式建立該要求訊息:

  • 使用傳送埠組態中的 [範本 ] 選項,您可以使用訊息範本建立要求訊息。

  • 將 [ 位址 ] 欄位的 XML 值放入訊息中。

    本主題將詳細說明這些步驟。 您必須執行下列一組工作:

  1. 建立一個 FILE 接收埠,該接收埠用於放置要插入到 Employee 資料表中的 地址 XML 字段的 XML 檔案。 假設此埠稱為 MessageIn 連接埠。

  2. 建立 WCF-Custom 單向傳送埠,從 FILE 接收埠挑選 XML 檔案、使用訊息範本建構訊息,並將其傳送至 SQL Server 以執行預存程式。

    本主題的這個部分提供使用訊息範本設定 WCF-Custom 傳送埠的指示。

備註

雖然本主題的資訊展示了如何使用單一 XML 參數來執行預存程序,但您還可以使用任意資料類型的單一參數來進行任何操作。 唯一的差異在於您為特定作業建立訊息範本的方式。 您可以藉由將用於協調流程執行作業的要求訊息參數值,替換為 BizTalk 訊息本文,來建立訊息範本。

設定 WCF-Custom 傳送埠

建立 WCF-Custom 傳送埠之前,請確定您已建立 FILE 接收埠 MessageIn

  1. 啟動 BizTalk Server 管理控制台。

  2. 在主控台樹中,展開 [BizTalk 群組],然後展開 [ 應用程式]。

  3. 展開您要在其中部署 SQL 配接器的應用程式。

  4. 以滑鼠右鍵按兩下 [ 傳送埠],指向 [ 新增],然後指向 [靜態單向傳送埠]。

  5. 在 [ 傳送埠內容] 對話框的 [ 一般 ] 索引標籤上,輸入傳送埠的名稱。

  6. 設定埠以接收在 FILE 接收埠 MessageIn 上卸除的所有訊息。

    1. 在 [ 傳送埠屬性 ] 對話框中,從左窗格單擊 [ 篩選]。

    2. 在右窗格中的「屬性」欄位底下,點選方格,然後選取「BTS.ReceivePortName」屬性。

    3. 針對 運算符 欄位,選取 "=="。

    4. 針對 [ 值] 資料行,指定 FILE 接收埠 MessageIn的名稱。

  7. 在 [ 傳送埠屬性 ] 對話框的 [ 一般 ] 索引卷標上,從 [ 類型 ] 下拉式清單中選取 [WCF-Custom],然後按兩下 [ 設定]。

  8. [WCF-Custom 傳輸屬性 ] 對話框中,執行下列動作:

    1. 按兩下 [ 一般] 索引標籤,然後在 [ 位址(URI)] 欄位中,指定 SQL Server 的連線 URI。 如需連線 URI 的詳細資訊,請參閱 建立 SQL Server 連線 URI

    2. 在 [ 一般] 索引標籤的 [ 動作] 文字框中,輸入作業的動作。 如需每個作業的動作清單,請參閱 訊息和訊息架構 。 例如,叫用ADD_LAST_EMP_XML_INFO的動作為:

      Procedure/dbo/ADD_LAST_EMP_XML_INFO  
      
    3. 按一下 系結 索引標籤,然後從 系結類型 列表中,選取 sqlBinding。 您可以指定 SQL 配接器所公開的不同系結屬性。 如需系結屬性的詳細資訊,請參閱 BizTalk Adapter for SQL Server 配接器系結屬性

    4. 按兩下 [ 認證] 索引標籤,然後執行下列其中一項:

      • 選取 [不要使用單一登錄 ] 選項,並指定要連線到 SQL Server 的使用者名稱和密碼。 請注意,使用者名稱和密碼會區分大小寫。

        備註

        如果您想要使用 Windows 驗證連線到 SQL Server,請指定空白的使用者名稱和密碼。

      • 選取 [ 使用單一登錄 ] 選項,然後指定聯盟企業單一登錄 (SSO) 應用程式。

        如需有關 BizTalk Server 安全性的詳細資訊,請參閱 SQL 配接器和 BizTalk Server 的安全性

    5. 按兩下 [ 訊息 ] 索引標籤,然後在 [ 輸出 WCF 訊息本文 ] 區段中,選擇 [ 範本] 選項。

    6. [XML ] 文字框中,指定將用來建構 WCF 訊息的範本。 藉此,您將設計一個符合 WCF 型 SQL 配接器中 ADD_LAST_EMP_XML_INFO 作業的訊息。

      指定用於輸出 WCF 訊息的範本

      針對ADD_LAST_EMP_XML_INFO預存程式,您必須指定下列範本:

      <ADD_LAST_EMP_XML_INFO xmlns="http://schemas.microsoft.com/Sql/2008/05/Procedures/dbo">  
      <xml_info>  
      <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="string"/>  
      </xml_info>  
      </ADD_LAST_EMP_XML_INFO>  
      

      這很重要

      訊息範本中的編碼一律為 「string」,不論將使用傳送埠叫用之作業的參數類型為何。 例如,ADD_LAST_EMP_XML_INFO採用 XML 類型的參數,但訊息範本中的編碼方式為字串。

      備註

      您可以建立此訊息範本,方法是先複製預存程序的要求訊息,再將<xml_info>標籤中的值替換為 BizTalk 訊息本文。 您可以透過使用 Consume Adapter Service 外掛程式為程序生成架構,然後生成該架構的實例來獲取要求 XML,以取得預存程序的要求訊息。

    7. 若要返回 [ 傳送埠內容 ] 對話框,請按兩下 [ 確定]。

  9. 從 [ 傳送處理程式 ] 列表中,選取 [BizTalkServerApplication]。

  10. 從 [ 傳送管線 ] 列表中,選取對應至 PassThruTransmit 的管線。

  11. 按一下 [確定]

啟動應用程式

若要啟動 BizTalk 應用程式,您可以個別啟動 FILE 接收位置和 WCF-Custom 傳送埠。 您現在必須將 XML 檔案複製到對應至 FILE 接收位置的資料夾。 BizTalk 應用程式會取用檔案,而且 XML 值會插入 Employee 資料表的 [位址] 資料行中。 您可以使用 SQL Server 用戶端,並從 Employee 數據表中選取記錄來確認這一點。

使用雙向 WCF-Custom 傳送埠

本主題中的指示,在如何設定 WCF-Custom 傳送埠一節底下,示範如何設定單向 WCF-Custom 傳送埠,以搭配單一參數執行預存程式,而不需使用 BizTalk 協調流程。 不過,在這種情況下,若要確認預存程式是否執行成功,您必須在 SQL Server 資料庫中確認 Employee 資料表中的 Address 數據行是否已更新。

相反地,您可以建立雙向 WCF-Custom 傳送埠,如果成功執行預存程式,也可以從 SQL Server 取得回應。 如果您建立雙向 WCF-Custom 埠,則必須執行一些額外的步驟。 請注意,您仍然需要 FILE 接收位置,如上述指示所述。

  1. 建立雙向 WCF-Custom 傳送埠,例如 ExecProcedure。 設定傳送埠的步驟類似於單向傳送埠的步驟。 唯一的差別在於,針對雙向埠,您也必須指定接收管線。 請確定您為接收管線選取 PassThruReceive

  2. 建立 FILE 傳送埠。 此埠會將回應消息從 SQL Server 資料庫卸載至資料夾。 使用 [埠屬性] 對話框的 [ 篩選] 索引標籤,將 FILE 傳送埠設定為從 WCF-Custom 傳送埠接收所有回應消息。

    1. 在 [ 傳送埠屬性 ] 對話框中,從左窗格單擊 [ 篩選]。

    2. 在右窗格中,於 屬性 欄下方按一下格線,然後選取 BTS.SPName 屬性。

    3. 針對 運算符 欄,選取“==”。

    4. 針對 [ ] 資料行,指定 WCF-Custom 傳送埠 ExecProcedure的名稱。

    啟動所有三個埠。 將 XML 檔案複製到對應至 FILE 接收位置的資料夾。 在映射到 FILE 傳送埠的資料夾中尋找回應。

另請參閱

使用 SQL 配接器開發 BizTalk 應用程式