注意 请查看更新6。它有一个简单的应用程序,演示如何重现问题。 我正在经历DTC噩梦...我们的设置是有两个数据库;一个SQL Server 2008数据库和一个Oracle数据库(我相信是11g)。我已经安装了oracle MTS。我已经配置了DTC以允许分布式事务。所有对Oracle表的...
在我们的项目中,我们使用TransactionScope来确保数据访问层在事务中执行它的操作。我们的目标是不需要在最终用户的机器上启用MSDTC服务。 问题是,在我们开发人员的一半机器上,我们可以禁用MSDTC运行。另一半必须启用它,否则他们会收到“MSDTC on [SERVER] is ...
我们在服务器#1上有一个Web服务,并在服务器#2上有一个数据库。Web服务使用事务范围来生成分布式事务,一切都正确。 我们在服务器#3上有另一个数据库。我们遇到了一些问题,重新安装了操作系统和软件。我们配置了MSDTC并尝试使用来自服务器#1的Web服务与此服务器上的数据库进行通信。现在,...
我有以下代码示例: static void Main(string[] args) { TransactionManager.DistributedTransactionStarted += (sender, eventArgs) => { Consol...
在 .Net 中,在调试时有没有一种方法来确定环境事务是 DTC 事务还是不是?我调查了 SqlConnection 类的成员,但什么也没找到。谢谢。
这是一个有效的问题吗?我有一个使用MSTDC的.NET Windows应用程序,它抛出了一个异常: System.Transactions.TransactionManagerCommunicationException:已禁用分布式事务管理器(MSDTC)的网络访问。请使用组件服务管...
DTCPing工具显示一切都应该正常。实际异常为: System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager ha...
我目前正在尝试使用嵌套事务范围来访问Azure SQL数据库。 我正在使用以下代码(.Net 4.5.1,我的代码是全异步的,这是带有EF6.1的ASP.Net MVC):public async Task Test() { // In my actual code, the DbC...