最近 在做项目的过程中总会遇到MSDTC的错误,网上也很多人问到这个问题,错误信息大约描述为:

[COMException (0x8004d00e): 此事务已明地或暗地被确认或终止 (异常来自 HRESULT:0x8004D00E)]
   System.Transactions.Oletx.ITransactionShim.Export(UInt32 whereaboutsSize, Byte[] whereabouts, Int32& cookieIndex, UInt32& cookieSize, CoTaskMemHandle& cookieBuffer) +0
   System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) +237

[TransactionException: 事务已被隐式或显式提交,或已终止。]
   System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException) +412
   System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) +292
   System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) +527
   System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) +801124
   System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) +795031
   System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) +30
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1205
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
   System.Data.SqlClient.SqlConnection.Open() +111

一般都是使用.net 2.0 下的Transactionscope引起的,通过搜索,大部分给出的答案是:

win2003缺省禁用远程/网络事务,启用的步骤如下:    
  启用网络   DTC   访问的步骤    
  1.   单击“开始”,指向“控制面板”,然后单击“添加/删除程序”。    
  2.   单击“添加/删除   Windows   组件”。    
  3.   选择“应用程序服务器”,然后单击“详细信息”。    
  4.   选择“启用网络   DTC   访问”,然后单击“确定”。    
  5.   单击“下一步”。    
  6.   单击“完成”。    
  7.   停止分布式事务协调器服务,然后重新予以启动。    
  8.   停止参与分布式事务的任何资源管理器服务(如   Microsoft   SQL   Server   或   Microsoft   Message   Queue   Server),然后重新予以启动。

这样做下来,我相信大部分人还是不行,再经过一番搜索,原来还需要两台机器能够ping的通hostname,这里还需要设置%windir%/WinNT/System32/Drivers/下的host文件,写上IP和HostName的对应信息,如

192.168.0.6 myhostname

请确保这一点: 两台机器能够ping通机器名(不是IP)

这里要特别注意你的防火墙,它有可能能让你ping不同机器名,更可能让两台机器之间禁止RPC服务,可见下面的一段资料:

If pinging Server2 from Server1 by NetBios name fails, or if pinging Server2 from Server1 by NetBios name succeeds but the DTCPing test shows RPC communication still fails, it is possible that Port 135 (the End Point Mapper, or EPM) has not been opened bi-directionally on the firewall. Check the firewall to make sure that the EPM is open in both directions. At this point, a Network Monitor trace may help to pinpoint the problem.

你也可以使用DTCping工具来测试是否可以在两台机器之间使用MSDTC,并帮你分析原因,下载地址可以到微软的站点

MSDTC 分布式事务错误解决相关推荐

  1. 关于 MSDTC 分布式事务两个常见错误

    假如分布式事务的客户端和服务器端(可能N个)不在同一台服务器上,如分别为 Web服务器 和 Db 服务器,可能会出现以下两个错误 1. 该伙伴事务管理器已经禁止了它对远程/网络事务的支持 通常这由安全 ...

  2. ubuntu14.04安装hadoop2.7.1伪分布式和错误解决

    ubuntu14.04安装hadoop2.7.1伪分布式和错误解决 需要说明的是我下载的是源码,通过编译源码并安装 一.需要准备的软件: 1.JDK和GCC     设置JAVA_HOME:      ...

  3. 分布式事务二——解决思路

    文章目录 一.分布式事务的思路 1.1 CAP定理 1.1.1 Partition tolerance 1.1.2 Consistency 1.1.3 Availability 1.1.4 Consi ...

  4. 分布式事务的解决思路与方案

    导航 一.事务的种类与场景 二.分布式事务解决方案 2.1 全局事务 2.2 可靠消息事务 2.3 最大努力通知 2.4 TCC 事务 三.TCC 模式常见问题 3.1 二阶段幂等 3.2 空回滚 3 ...

  5. 分布式事务 - 如何解决分布式事务问题?

    分布式事物 - 如何解决分布式事务问题? 面试题 分布式事务了解吗?你们是如何解决分布式事务问题的? 面试官心理分析 只要聊到你做了分布式系统,必问分布式事务,你对分布式事务一无所知的话,确实会很坑, ...

  6. 分布式事务实践 解决数据一致性 分布式事务实现:消息驱动模式

    分布式事务实现:消息驱动模式 详细介绍3种分布式事务实现的模式中的消息驱动模式并通过完整实例演示了消息驱动模式下,实现微服务系统的分布式事务的完整过程. 7-1 分布式事务实现:消息驱动模式 7-2 ...

  7. 分布式事务实践 解决数据一致性 分布式事务实现:Event Sourcing模式

    详细介绍了分布式事务实现的模式中的Event Sourcing模式,并通过完整实例演示了Event Sourcing模式下,实现微服务系统的分布式事务的完整过程. 8-1 事件溯源模式介绍 8-2 事 ...

  8. 分布式事务实践 解决数据一致性 分布式事务实现,模式和技术

    分布式事务实现,模式和技术 分布式事务实现,模式和技术 介绍分布式事务的定义.原则和实现原则,介绍使用Spring框架实现分布式事务的几种方式,包括使用JTA.Spring事务同步.链式事务等,并通过 ...

  9. LCN分布式事务框架解决分布式事务一致性问题

    LCN分布式事务框架 框架介绍 LCN分布式事务框架其本身并不创建事务,而是基于对本地事务的协调从而达到事务一致性的效果. 核心步骤 创建事务组 是指在事务发起方开始执行业务代码之前先调用TxMana ...

最新文章

  1. 从0到1构建大数据生态系列1:数据蛮荒中的拓荒之举
  2. unix网络编程 ubuntu下搭建环境编译源码
  3. 机房合作--那些数据类型
  4. 设置背景图片,解决手机上背景图片高度适应问题
  5. opentld matlab视频,计算机视觉中的相关算法的源代码
  6. CSS :before :after 伪类选择器
  7. 内卷之下,前端工程师如何自救
  8. centos图形化桌面的文件在哪_CentOS 安装图形桌面
  9. python split函数 空格_python上手--10行代码读懂红楼梦
  10. 单个基因集富集分析泡泡图绘制
  11. MyFlash使用总结
  12. 【Windows】将notepad++添加到右键菜单中
  13. 四、Python-元组
  14. 自然场景文本检测识别技术集合(转)
  15. 用户行为分析面面观之二
  16. VMware vSphere Client5.0与 Windows8不再有问题,解决VMware 5.0 客户端提示VMRC控制台的连接已断开
  17. excel利用vba批量生成word报告
  18. linux中package什么文件夹,PACKAGE 文件扩展名: 它是什么以及如何打开它?
  19. 春晚宫女唐奕霖被爆背景深厚 可携助手出入央视排练场享有特权
  20. 也许通过社群找工作,是未来的趋势。

热门文章

  1. iOS音频播放 (三):AudioFileStream
  2. 计算机如何访问苹果6s的相册,如何在电脑中打开苹果手机中的HEIC格式的照片?...
  3. Web 3浪潮席卷东南亚 越南为何会成为“热点”地区
  4. 邻接矩阵用c语言,邻接矩阵无向图(一)之 C语言详解
  5. MySQL(学生表、教师表、课程表、成绩表)多表查询
  6. Intent之对象传递(Parcelable传递对象和对象集合)
  7. 蚂蚁金服 Service Mesh 实践探索 | Qcon 实录
  8. 自来水公司是如何进行收费的?
  9. ipad1无法安装应用程序_适用于儿童的31种出色iPad应用程序
  10. 自己搭建网站一个月多少钱?