MSDTC和具有实体框架的多个数据库

时间:2010-06-15 21:53:34

标签: c# entity-framework sql-server-express msdtc

在我的代码中,我试图使用TransactionScope和Entity Framework进行交易。在此事务中,我们正在打开与单独服务器和数据库的常规SQL连接。当conn.Open()被调用时,我们得到一个 错误:

  

“分布式事务管理器(MSDTC)的网络访问已被禁用。请使用Componet Services管理工具在MSDTC的安全配置中启用DTC以进行网络访问。”

但是,MSDTC已在服务器上启用并运行。

3 个答案:

答案 0 :(得分:3)

1)只是确定但你确实已经确认DTC正在运行。在“组件服务”屏幕上右键单击“我的电脑”。顶部菜单项应显示“停止DTC”。

2)您是否检查过两端的MSDTC配置是否相同(启动与数据库和数据库服务器连接的应用程序服务器)? 请特别注意MSTDC选项卡下的安全配置

祝你好运

答案 1 :(得分:1)

您需要在Web服务器和SQL Server上启用MS DTC,并在两台计算机上启用远程事务。我已经在我的博客上浏览了Windows 2003Windows 2008

答案 2 :(得分:0)

同时检查防火墙。我曾经在办公室里失去了一整天,因为发现前一天晚上运行的Windows Update操作恢复了Windows防火墙的默认值。