我有一个场景,我需要将SQL Server表和Microsoft CRM记录更新为一个事务,如果一个事务失败,另一个事务也必须失败。实现这一目标的最佳方法是什么?我应该使用什么技术?
答案 0 :(得分:0)
如果您正在使用CRM 2011或CRM 2013,则事件前插件始终在数据库事务中执行,并在发生故障时回滚。您可以选择在数据库事务内或外部执行事后操作。
如果你提到的CRM表是触发事务的那个,那么你应该把逻辑放在更新前插件中的那个表中,并且你的SQL表更新逻辑在事务内的更新后插件中。
如果正在更新的CRM表不是触发事务的表,那么您应该将两个逻辑块放在事务内的更新后插件中。
在这两种情况下,如果发生故障,一切都会回滚。