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