在测试馈赠促销工作台根据小票流水返券的时候,点击馈赠确定之后,再点击审核的时候,报错,错误大致内容为
【
链接服务器card_srv的OLE DB 访问接口‘SQLNCLI无法启动分布式事务,
链接服务器card_srv的OLE DB 访问接口‘SQLNCLI返回了消息'该事务管理器已经禁止了它对远程/网络事务的支持。'
】
经过在网上查询相关解决办法及同事们的帮助,终于将问题得以解决,解决方法在网上基本上都可以找到,但是都不是很全面,
现将解决办法汇总整理下,方便大家遇到类似的情况时进行配置
1、检查相关的服务器上是否有安装msdtc服务,我这边是门店服务器和卡中心的服务器, 如果没有安装的话,进行如下安装
①. 单击“开始”,指向“控制面板”,然后单击“添加/删除程序”。
②. 单击“添加/删除 Windows 组件”。
③. 选择“应用程序服务器”,然后单击“详细信息”。
④. 选择“启用网络 DTC 访问”,然后单击“确定”。
⑤. 单击“下一步”。
⑥. 单击“完成”。
⑦. 停止分布式事务协调器服务,然后重新予以启动。
⑧. 停止参与分布式事务的任何资源管理器服务(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然后重新予以启动。
2、如果机器上已经安装msdtc服务,检查MSDTC设置是否正确.
①.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
②.转至"控制面板-组件服务管理工具"。
③.浏览至"启动管理工具"。
④.选择"组件服务"。
a.展开"组件服务"树,然后展开"我的电脑"。
b.右键单击"我的电脑",然后选择"属性"。
c.在 MSDTC 选项卡中,确保选中了下列选项(都要打勾):
选中“网络DTC访问” 网络管理 网络事务 XA 事务
在客户端管理中选中“允许远程客户端”“允许远程管理”
在事务管理通讯中选“允许入站”“允许出站”“不要求进行验证”
d.另外,"DTC 登录帐户"一定要设置为"NT Authority/NetworkService"。
⑤.单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。 所有的依赖服务将被停止。请按'是'继续"。单击"是"继续。
⑥.单击"确定"关闭"我的电脑"属性窗口。
3、禁用SQL Server 的DTC RPC安全,具体为在HKEY_LOCAL_MACHINE/Software/Microsoft/MSDTC下新建一个DWord键,名称为TurnOffRpcSecurity,设置其值为1 ,如果有的话,检查确认其值是否为1
4、通过查找,在C:找到名为“hosts”的文件(没有扩展名),
通常路径为C:\WINDOWS\system32\drivers\etc,将对方服务器的IP和计算机对应起来,参考如下(我这边是门店服务器和卡中心服务器):
分店的hosts文件为--指向卡中心的服务器地址:
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
192.168.0.17 cardmis
卡中心服务器的hosts文件配置为:--指向分店的服务器地址
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
192.168.2.109 leader
192.168.1.103 server2003
192.168.8.109 GHLS-SRV
192.168.5.109 lyenjoy
192.168.7.109 misserver
192.168.10.109 zslserver
5、可以下载Dtcping.exe工具进行监测是否两个服务器之间的Dtc服务是否畅通
Dtcping.exe 程序包中包含以下文本文件描述如何使用 DTCPing 工具:
①请参阅有关如何测试 RPC 通信和两台计算机之间的 MS DTC 通信的信息的 Readme.txt 文件。
②请参阅 HowtoAnalyze_Dtcping_Output.txt 文件如何获得 RPC 端口信息、 CID注册表项信息和其他 MS DTC 相关的信息有关的信息。
上面4条如果全部配置没有问题的话,用Dtcping.exe工具检测是没有问题的