首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨多个数据库的事务(C#)

跨多个数据库的事务(C#)
EN

Stack Overflow用户
提问于 2013-10-05 02:44:22
回答 1查看 1.1K关注 0票数 1

我正在开发一个应用程序,它将更新多个数据库(SQL Server 2008和Oracle 11g)。TransactionScope似乎是确保更新总是正确提交的合乎逻辑的方法,但安装MSDTC似乎不是一个选择。将来,该应用程序也可能使用不支持分布式事务的数据源。

我花了很多时间试图想出另一种解决方案,但似乎没有一种方法能奏效。所有搜索都指向TransactionScope和分布式事务。

这个应用程序是用C#编写的,使用实体框架。有没有什么不需要升级到分布式事务的建议?这是我曾经有过的一些想法,但都没有成功。

+TransactionScope:无法使用MSDTC。未来的数据源可能不支持分布式事务。

+手动跟踪和回滚事务:我还没有找到在Entity Framework中执行此操作的好方法。

+队列/日志失败,所以它们可以被另一个进程重新提交:不能想出一个好的方法来存储失败的提交。还需要确保重新提交不会覆盖较新的数据。

EN

回答 1

Stack Overflow用户

发布于 2013-10-07 22:48:31

@ThinkJet。这个相关的链接是一个有趣的观点。在我的例子中,一个小的失败,就像描述的那样,不会是一个大问题。我们目前有其他东西在适当的地方,试图保持所有这些系统同步(并不总是成功)。如果一个或两个事务确实失败了,那么应该由这些进程来处理。

在阅读完这些注释之后,我可能会尝试让这个库将数据写入它自己的数据库。然后,将这些更改同步到其他源,以便其他应用程序可以看到这些更改。它会导致一些更新的轻微延迟,但即使这样也会比我们现在拥有的要好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19188566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档