因为链接服务器 "IP" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务

前言:A服务器和B服务器做好链接后,可以查询,但是用到Distributed Transaction就报错:


 未处理的“System.Exception”类型的异常出现在 mes.exe 中。

其他信息: System.Data.SqlClient.SqlException: 服务器 'YICHANGMES' 上的 MSDTC 不可用。
无法执行该操作,因为链接服务器 "" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务 

根据网上步骤,添加host文件,设置msdtc还不是行

用DTCping工具测试看是否ping通,发现是可以的,但是有警告:

wKioL1WoemHQpqitAAH_UqLVuaE452.jpg

经过查询

解决办法:属于一个.Net 2.0的Bug,打hotfix:ndp20-kb916002-x86

3. 现象:在使用DTC ping的时候会出现一个警告"Warning: the CID values for both test

machines are the same"


4. 现象:win 2000上不能启动分布式错误

原因:克隆的操作系统导致 解决:添加/删除


解决办法:打开注册表,HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC

修改以下两项:

AllowonlySecureRpcCalls=0

TurnoffRpcSecurity=1

这里没有修改注册表,重新装了系统!


因为服务器B是从服务器A克隆过来的,先是打补丁报错,直接就重新装了下系统,搞定!!!


总结:以后即使是测试服务器也不能偷懒了!


你可能感兴趣的:(DB,ole,的,因为链接服务器,"IP",访问接口,无法启动分布式事务,"SQLNCLI")