WCF-SQL使用in和out参数调用存储过程

时间:2011-10-26 11:15:04

标签: wcf biztalk biztalk-2010

我有一个通过直接绑定接收xml的编排。

在业务流程中,我必须执行以下任务:

  • 调用1个存储过程以创建批处理ID(名称IN,batchID OUT,errorCode OUT)
  • 在与xml(0..n unbounded)中的记录匹配的表中执行多个插入,每个记录是一个表行插入。我使用映射将XML元素与表中的列匹配。
  • 调用1个存储过程以结束批处理(batchID IN,recordCount IN,errorCode OUT)

必须使用Biztalk 2010中的WCF-SQL适配器完成数据库调用。

我的问题:

  • 如何将第一个SP的批次ID传递给映射器(每个记录 以batchID列开头)?
  • 1 XML中的插入必须是 被视为一项交易。当插入失败时,记录 必须回滚。这是如何实现的?

1 个答案:

答案 0 :(得分:0)

要回答您的第一个问题,您可以映射多输入模式映射,并使用Create Batch存储过程调用中的响应消息作为输入模式之一。要执行此操作,请在此处查看此问题的答案Creating BizTalk map with multiple input schema

关于第二个问题,如果您使用WCF-SQL适配器执行表操作,则可以在sqlBinding配置中将useAmbientTransaction属性设置为true,这将在一个事务中包装多个调用。 / p>