共用方式為


使用 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 值。 不過,若要使用配接器執行預存程式,您必須將符合程式架構的要求訊息傳送至 SQL Server,並包含Address欄位的 XML 值。 因此,您必須透過下列方式建立該要求訊息:

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

  • [位址] 欄位的 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-自訂傳輸屬性 ] 對話方塊中,執行下列動作:

    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 類型的參數,但訊息範本中的編碼方式為字串。

      注意

      您可以複製預存程式的要求訊息,並以 BizTalk 訊息本文取代xml_info > 標籤內 < 的值,以建立此訊息範本。 您可以使用取用配接器服務增益集產生程式的架構,然後產生架構實例以取得要求 XML,以取得預存程式的要求訊息。

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

  9. 從 [ 傳送處理常式] 清單中,選取 [BizTalkServerApplication]。

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

  11. 按一下 [確定]。

啟動應用程式

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

使用雙向 WCF-Custom 傳送埠

本主題中的指示,在 How to Configure a WCF-Custom Send Port一節底下,示範如何設定單向 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 應用程式