.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与防火墙的问题可参考:http://support.microsoft.com/kb/306843/zh-GB

    
至于MSDTC的通信检测,用户可以通过DTCPing(或DTCTester)工具进行测试。DTCPing 需服务端和客户端成对进行测试,一方启动为服务端,而另一方启动为客户端,进行DTC通信测试。下图是DTCPing测试的示例:

如上图所示,DB服务器和客户端RPC是相互连通可以通信的。
注意:Remote Server Name为NetBios名称。

工具可以从微软网站上下载:
DTCPing可以从微软站点下载:http://www.microsoft.com/downloads/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644&DisplayLang=en

DTCPing说明:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q306843
DTCTester可以从微软站点下载:http://support.microsoft.com/?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了。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wengoal/archive/2009/12/02/4925347.aspx

TransactionScope 之分布式配置的更多相关文章

  1. ubuntu12.04+Elasticsearch2.3.3伪分布式配置,集群状态分片调整

    目录 [TOC] 1.什么是Elashticsearch 1.1 Elashticsearch介绍 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.能够快速搜索数 ...

  2. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  3. Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    摘自: http://www.cnblogs.com/kinglau/p/3796164.html http://www.powerxing.com/install-hadoop/ 当开始着手实践 H ...

  4. Hadoop安装教程_单机/伪分布式配置

    环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统(可参考使用VirtualBox安装CentOS).如果用的是 Ubuntu 系统,请查看相应的 Ubuntu安装Hadoo ...

  5. SpringCloud学习之快速搭建分布式配置

    一. 关于spring-cloud中的分布式配置 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Server,您可以在所有环境中管理应用程序的 ...

  6. 新手推荐:Hadoop安装教程_单机/伪分布式配置_Hadoop-2.7.1/Ubuntu14.04

    下述教程本人在最新版的-jre openjdk-7-jdk OpenJDK 默认的安装位置为: /usr/lib/jvm/java-7-openjdk-amd64 (32位系统则是 /usr/lib/ ...

  7. spring cloud 入门系列七:基于Git存储的分布式配置中心

    我们前面接触到的spring cloud组件都是基于Netflix的组件进行实现的,这次我们来看下spring cloud 团队自己创建的一个全新项目:Spring Cloud Config.它用来为 ...

  8. Spring Cloud Config 分布式配置中心使用教程

    一.简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组件spring cloud config ...

  9. SpringCloud的分布式配置及消息总线

    1.在搭建分布式配置时,我们大概看下分布式配置的流程 如图所示: 当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现 ...

随机推荐

  1. 烂泥:openvpn配置文件详解

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 在上一篇文章<烂泥:ubuntu 14.04搭建OpenVPN服务器>中,我们主要讲解了openvpn的搭建与使用,这篇文章我们来详细介绍下有 ...

  2. [bootstrap]bootstrap2如何引导div垂直居中

    参考网址:http://www.4byte.cn/question/138712/bootstrap-how-to-center-vertical.html 部分参考自上面网页中的方法.用过boots ...

  3. Java连接程序数据源

    在实际应用中,可能需要根据表名动态地改变数据源,比如在程序数据集中,通过传进的表名参数,到数据库取出对应的表作为数据源.例如,FineReport是通过AbstractTableData抽象类来读取数 ...

  4. Neutron 理解(10):虚拟专用网(VPN)虚拟化 [How Neutron implements VPN Virtualization]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  5. Microsoft-Office-Professional-Plus-2007

    Microsoft-Office-Professional-Plus-2007password:(也有自带的)DP37G-8BBDM-9Y4BW-WT2K8-2WRMJ P64QH-V3F2K-RXY ...

  6. 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例

    基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...

  7. jQuery模仿人类打字效果插件typetype

    typetype是一款模仿人类打字效果的jQuery插件,typetype非常轻巧,文件不到2K,gzipped压缩后只有578字节,但模仿的效果非常逼真,一字一字的顿出和回删效果,让人惊叹不止,喜欢 ...

  8. Vue系列:在vux的popup组件中使用百度地图遇到显示不全的问题

    问题描述: 将百度地图封装成一个独立的组件BMapComponent,具体见 Vue系列:如何将百度地图包装成Vue的组件(http://www.cnblogs.com/strinkbug/p/576 ...

  9. Redis作为消息队列服务场景应用案例

    NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例   一.消息队列场景简介 “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更 ...

  10. CCS 6新建TMS320F2812工程

    准备材料 CCS6 下载地址:http://www.ti.com/tool/ccstudio F2812的C语言头文件 下载地址:http://www.ti.com/lit/zip/sprc097 安 ...