SQL发送端口完成后将数据放入数据库的通知

时间:2012-05-09 21:13:36

标签: biztalk biztalk-2010 biztalk-2009 biztalk2006r2

我有6个发送端口.......一旦完成将数据放入所有6个表...

我想从一个表中获取一个数据并在所有其他5个表上更新.....

我已为此编写存储过程...

但我只想在完成其过程后才这样做......

无论如何都是那样..

我希望只有在将数据放入所有表格后才运行我的存储过程......

为什么知道我的发送端口是用insert语句完成的.....现在我可以运行我的存储过程...

它是一个大文件..将数据放入数据库大约需要2个小时...但我希望自动化这个过程......

2 个答案:

答案 0 :(得分:1)

您需要的是一个简单的业务流程来处理这个过程。

可以通过接收传入文件并将其发送到所有发送端口来激活业务流程。然后它将等待每个端口的响应。收到所有回复后,您可以向前移动并激活最终SP以读取和更新最后一个表。

答案 1 :(得分:0)

我可以看到两种可能的解决方案:

<强> 1。简单而有点复杂的方法:

'data-insert'业务流程使用并行操作形状(带有六个单独的操作)将insert-gram发送到相关数据库(或者可能是单个复合插件 - 但我无法评论并行性)。完成每个插入操作后,后续的顺序操作将更新控制表,以将数据标记为“已成功插入”。

单独的业务流程轮询控制表,等待插入每个“成功插入”的记录;一旦有六个,就调用你的存储过程。

<强> 2。复杂而优雅的方法:

使用分散和聚集模式(Google'BizTalk Scatter Gather Pattern'),主编排在插入数据时接收响应(这将为您提供真正的并行性)。完成所有分散编排后,调用存储过程。