与基础事务管理器的通信失败.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
与基础事务管理器的通信失败

与基础事务管理器的通信失败.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).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)至于MSDTC的通信检测,用户可以通过DTCPing(或DTCTester)工具进行测试。DTCPing 需服务端和客户端成对进行测试,一方启动为服务端,而另一方启动为客户端,进行DTC通信测试。下图是DTCPing测试的示例:如上图所示,DB服务器和客户端RPC是相互连通可以通信的。注意:Remote Server Name为NetBios名称。 工具可以从微软网站上下载:DTCPing可以从微软站点下载:/downloads/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644DisplayLang=enDTCPing说明:/default.aspx?scid=kb;EN-US;Q306843DTCTester可以从微软站点下载:/?scid=kb%3Ben-us%3B293799三、在若还不行,看一下数据库服务器与客户端(如web端)是不是在同一网段(或者同一个AD域),检测步骤可参考如下:a) telnet DbIP 135是否可以通;b) 然后相互Ping IP;c) 再ping 相互的NetBios名称,还不通的话d) 可以修改%windir%/system32/etc/hosts,或%windir%/system32/etc/lmhost.sam去掉文件扩展名,进行DB服务和IP的绑定即可,如下图所示:在不同的AD域中,若IP可以ping通,但机器名称不能Ping通,则说明机器名称解析有问题,请检测wins服务和DNS是否正确。通过以上几步,一般MSDTC的通信就OK了。

文档评论(0)

hh83kxy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档