好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法总结

关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法总结

遇到此问题先需确认几个问题:

       1)MS DTC是否设置正确?

       2)是否启用了防火墙?是否对DTC做了例外?

       3)是否做了hosts映射?是否跨网域通信?

开发分布式事务,碰到一个错误“与基础事务管理器的通信失败”,去百度了一下,发现问这个问题的人甚多,但是能解决的却很少了,而且所提供的方法无法解决问题。没有办法,我只有转移到Google去搜索E文的。最后发现了三篇“有里程碑性质的文章”:

        http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/08.aspx

        http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/03/15/629.aspx

        http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/02/12/kb-msdtc-cross-different-domains.aspx

1. 错误描述: 此错误一般就提示一句:

中文就是:“与基础事务管理器的通信失败”

E文就是:“Communication with the underlying transaction manager has failed”

碰到此错误是极其郁闷的事情。明明MS DTC


   设置已经正确了啊!?

2. 错误排查:

对你的目标DB(最少2台,多则不限)进行

1.Telnet IP 135测试

2.ping IP(DB的IP) 若是不通则不行

3.反ping IP(应用的IP)        若是不通也不行

4.查C:\WINDOWS\system32\drivers\etc\下hosts文件

说明:关于Microsoft提到更改注册表设置RPC端口,我不是很赞成。除非遇到了严格的网络环境,Server必须在Firewall下工作,且无法解除所有限制的情况,只有走此下策。具体的设置参看: http://support.microsoft测试数据/kb/154596/zh-cn

3.Lmhosts 文件

       此文件也位于C:\WINDOWS\system32\drivers\etc\,但是可能会看到lmhosts.sam,没有关系,去掉扩展名,就成了lmhosts,然后做映射:

       是的,和做hosts差不多。这个是解决RPC跨网域通信的问题。一般做了此步,问题基本都可解决

作者: Leo_wl

    

出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法总结的详细内容...

  阅读:41次

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网
[ SiteMap ]