2024年3月12日发(作者:)
与基础事务管理器的通信失败
.Net开发过程中,涉及多个数据库和不同数据库的分布式事务(Distributed Transaction)开发,有时
会碰到“与基础事务管理器的通信失败”的错
误。导致这个错误一般有下列三个原因:
1) MSDTC设置不正确;
2) 是否被防火墙阻挡;
3) 跨网段通讯或跨域通讯;
在数据库项目开发时,连接一个远程数据库(如SQLServer2005时)时,创建多个数据库连接时,
SQLServer2005会自动由LTM(Light Weight
Transaction Manager)升级成OLETX(MSDTC)来处理,开启MSDTC服务,通过RPC远程数据库。
排除此问题可通过以下几步来解决:
一、检查数据库端机器与客户端(比如Web端)的MSDTC配置,如下图所示:
注:在Windows2003+sp1或WinXP+SP2的机器环境时,若客户端和数据库端的操作系统一样(即
都为Win2003+sp1或WinXP+SP2),则可以要求双方进行验
证;若客户端和服务端有一方不相同(如为win2000)时,需设置为不要求进行验证;因此安全配置建
议设置为不要求进行验证,如上图所示。
二、若还是不成功,可以看一下是否开启网卡上的防火墙,可把MSDTC加入例外,如下图所示:(关
于MSDTC与防火墙的问题可参考:
/kb/306843/zh-GB)


发布评论