簡體   English   中英

BizTalk 2013 - 在沒有編排的情況下在發送端口上執行存儲過程?

[英]BizTalk 2013 - execute stored procedure on send port without orchestration?

前段時間我設置BizTalk通過FTP獲取文件並將其放入網絡目錄。 這都是passsthru所以我沒有使用編排。

現在我被要求在拾取文件后執行存儲過程。 該過程不包含任何參數,我不需要該文件的內容。

這似乎是一個簡單的請求,但我無法弄清楚。 有沒有什么辦法可以做到這一點,而不是過於復雜的事情?

這可以通過使用WCF-SQL適配器或帶有SQL綁定的WCF_Custom適配器來實現。 您只能使用帶有過濾器/映射的SendPort進行消息傳遞,因此不需要編排。

對於SOAP操作標頭,請使用TypedProcedure / dbo / name_of_your_stored_procedure,在消息選項卡中,您可以指定存儲的procuders的參數,並以下列方式添加有效負載:

<name_of_your_stored_procedure xmlns="http://schemas.microsoft.com/Sql/2008/05/TypedProcedures/dbo">
  <parameter1>XXXX</parameter1>
  <xml_parameter>
    <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="string"/>
  </xml_parameter>
</name_of_your_stored_procedure>

在上面的例子中,xml_parameter將傳遞給它的消息有效負載的內容。

存儲過程應該類似於:

CREATE PROCEDURE [dbo].[name_of_your_stored_procedure]
    @parameter1 int,
    @xml_parameter nvarchar(max)
AS
BEGIN
    -- your code goes here
END

更多細節可以在這里找到

關心Hasse

MSDN頁面描述了該過程,並說:“您必須創建一個BizTalk業務流程才能使用BizTalk Server在SQL Server上執行操作。”

但是,如果您真的絕望不使用業務流程,我相信您可以選擇在自定義管道組件中設置操作上下文屬性。 然后,您可以在端口上的地圖中初始化消息。 理論上這應該有效,但我無法保證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM