【发布时间】:2012-08-15 13:01:08
【问题描述】:
我有一个接收位置,它正在使用 WCF-SQL 适配器对存储过程进行轮询。
接收位置正在使用自定义管道。
该存储过程正在对某些行执行“更新”操作。
我需要 BizTalk 对事务执行 ROLLBACK,以防管道在稍后阶段失败。
我应该怎么做?
【问题讨论】:
我有一个接收位置,它正在使用 WCF-SQL 适配器对存储过程进行轮询。
接收位置正在使用自定义管道。
该存储过程正在对某些行执行“更新”操作。
我需要 BizTalk 对事务执行 ROLLBACK,以防管道在稍后阶段失败。
我应该怎么做?
【问题讨论】:
默认情况下,WCF-SQL 适配器将在 distributed DTC transaction 下调用您的存储过程
此设置 (UseAmbientTransaction) 位于接收位置属性、绑定选项卡、事务中。
(未经测试!)这应该意味着如果proc或管道失败,连接将自动回滚。
当在编排中的原子范围的范围内使用时,这同样应该在适配器上强制执行 2 阶段提交/ACID。
【讨论】: