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

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文件

应用的SERVER做如下映射:  eg:  192.168.1.10 DB-Server-1

DB的SERVER做如下映射:  eg:  192.168.1.50 App-Server-1

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

5.错误到此一般都能解决,但是还有相当一部分还是没能解决。那为什么?就是要关注lmhosts文件了,看第3

3.Lmhosts文件

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

应用的SERVER做如下映射:  eg:  192.168.1.10 DB-Server-1

DB的SERVER做如下映射:  eg:  192.168.1.50 App-Server-1

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

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

  1. entityframework分布式事务中遇到的 “与基础事务管理器的通信失败”的解决方法

    首先是ef的多数据库操作实现事务的方法 public int AddDifferenceDB(userinfo1 user1, userinfo user) { ; using (var test2D ...

  2. 部署K2 Blackpearl流程时出错(与基础事务管理器的通信失败或Communication with the underlying transaction manager has failed.

    转:http://www.cnblogs.com/dannyli/archive/2011/12/01/2270222.html 亲,在部署K2流程是,是否遇到这个错误(以下是中.英文错误信息) 中文 ...

  3. 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。

    今天写ASP.NET程序,在网页后台的c#代码里写了个事务,事务内部对一张表进行批量插入,对另外一张表进行查询与批量插入. 结果第二张表查询后foreach迭代操作时报错:已禁用对分布式事务管理器(M ...

  4. [mybatis-spring] Transaction 事务/事务处理/事务管理器

    使用mybatis-spring的主要原因之一就是: mybatis-spring允许mybatis参与到spring 事务中. mybatis-spring leverage[use (someth ...

  5. 跟我学Spring3(9.2):Spring的事务之事务管理器

    原文出处: 张开涛9.2.1 概述 Spring框架支持事务管理的核心是事务管理器抽象,对于不同的数据访问框架(如Hibernate)通过实现策略接口PlatformTransactionManage ...

  6. spring事务管理器设计思想(二)

    上文见<spring事务管理器设计思想(一)> 对于第二个问题,涉及到事务的传播级别,定义如下: PROPAGATION_REQUIRED-- 如果当前没有事务,就新建一个事务.这是最常见 ...

  7. spring事务管理器设计思想(一)

    在最近做的一个项目里面,涉及到多数据源的操作,比较特殊的是,这多个数据库的表结构完全相同,由于我们使用的ibatis框架作为持久化层,为了防止每一个数据源都配置一套规则,所以重新实现了数据源,根据线程 ...

  8. Spring事务管理器的应对

    Spring抽象的DAO体系兼容多种数据访问技术,它们各有特色,各有千秋.像Hibernate是非常优秀的ORM实现方案,但对底层SQL的控制不太方便:而iBatis则通过模板化技术让你方便地控制SQ ...

  9. spring简单事务管理器

    事务管理器 <!-- Transaction manager for a single JDBC DataSource -->  <bean id="transaction ...

随机推荐

  1. 设置UIButton文字大小颜色不同

    _loginBtn = [[UIButton alloc]initWithFrame:CGRectMake(iconX, CGRectGetMaxY(passwordBGView.frame)+25, ...

  2. ecshop二次开发

    模板开发首页参考资料: http://book.ecmoban.com/ http://pan.baidu.com/s/1bnezFUv 自行修改ecshop读写分离设置,请查看另一篇文章,ecsho ...

  3. VM VirtualBox 上安装 CentOs6.4(详细)

    在网上下载:CentOS-6.4-i386-bin-DVD1.iso镜像. 这是我在VBox上安装CentOs6.4的过程: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12 ...

  4. Objective-C 学习记录6--dictionary

    1.NSDictionary 和NSMutableDictionary NSDictionary dictionaryWithObjectsAndKeys:~,nil 使用键值对创建字典,用nil标志 ...

  5. Weka中EM算法详解

    private void EM_Init (Instances inst) throws Exception { int i, j, k; // 由于EM算法对初始值较敏感,故选择run k mean ...

  6. JS获取URL参数 方法

    function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = qu ...

  7. 3DTouch-ShortcutItem - iOS9 - xcode7

    据说苹果某个神秘的团队闭门潜心研发多年的3DTouch终于,应用在iOS9上,且公开了API. 在系统主界面用力按压 APP 图标,如上会出现自定义菜单 有两种方法可以实现一.代码(这种方法也是可以动 ...

  8. 15 Examples To Master Linux Command Line History

    When you are using Linux command line frequently, using the history effectively can be a major produ ...

  9. Hex-Rays Decompiler Tips and tricks Volatile memory

    https://www.hex-rays.com/products/decompiler/manual/tricks.shtml First of all, read the troubleshoot ...

  10. C# 如何编辑文件的摘要信息

    我的以前的测试报告程序需要在倒完测试数据报告后,在文件摘要中加上一些类似版权说明的文字等等. 因此需要对文件摘要信息进行编辑. 我的记忆中以前好像只有office文档才可以又摘要信息, 现在看来基本上 ...