我需要实现从一个数据库读取数据并在两个其他数据库(Db2和Db3)中插入/更新数据。所有数据库都是SQL Server。ADO.NET和使用不同的数据库
现在我使用的下一个情景:
打开连接,并为我的源数据库开始交易。
1.1打开连接,并为DB2
1.2插入/更新记录开始交易。
1.3提交/回滚事务
2.1打开连接和DB3
2.2插入/更新记录开始交易。
2.3提交/回滚事务
标记记录在源数据库导出。
提交事务。
一切工作正常。但是如果我在1.2或2.2步中出现异常,则当前事务将被回滚,但其他步骤中的事务将保持承诺。
如何在步骤(1.2或2.2)有异常时执行方案,步骤1.3和2.3的 也会回滚?
我不能用一个交易,DB2和DB3,因为我有例外
交易或者未与当前连接 相关的或已经完成。
任何想法?
感谢,
更新: 我解决我的问题: 现在我使用的下一个情景:
打开连接,并为我的源数据库开始交易。
1.1打开连接和用于DB1
启动事务1.2打开连接并用于DB2
启动事务在DB1 1.3插入/更新
1.4插入在DB2 /更新
1.5提交/回滚事务Db1
1。6 Db2提交/回滚事务
将源记录中的记录标记为导出。
提交事务。
你如何处理时DB1交易成功和DB2交易失败? – Eranga