无法执行该操作,因为链接服务器 "XXX" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。

shangbin1983 2010-03-09 05:07:08
各位
我用客户端程序连接服务器A,然后在A上面做一个数据链路连接服务器B
在A的sql查询分析器上面执行select * from IPB.DB2.dbo.B1 执行成功
但我用程序连接服务器A,执行如上语句时,发生如下错误
无法执行该操作,因为链接服务器 "192.168.1.101" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。
链接服务器"192.168.1.101"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务。"。


偶已经折腾了一天了,希望有高手给我解决了,跪谢
...全文
2850 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
benben_tong 2011-11-11
  • 打赏
  • 举报
回复
试试那个,应该OK吧。
benben_tong 2011-11-11
  • 打赏
  • 举报
回复
看一下MSDTC啟動是否正確



1、运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC。
添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。
2、重启MS DTC服务。
3、打开“管理工具”的“组件服务”。
a. 浏览至"启动管理工具"。
b. 选择"组件服务"。
c. 展开"组件服务"树,然后展开"我的电脑"。
d. 右键单击"我的电脑",然后选择"属性"。
在 MSDTC 选项卡中,确保选中了下列选项:
网络 DTC 访问
网络管理
网络事务
XA 事务
另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。
4、重启MS DTC服务。
5、再次运行 regedt32,浏览至 HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC,然后删除 TurnOffRpcSecurity 项。在查看一下sp_serveroption命令有鏈接服務器的選項說明

shangbin1983 2010-03-09
  • 打赏
  • 举报
回复
我的MDTC RPC的两个服务都全部启动了,但是还是报上面的错误



希望回复中
zhaoyungang111 2010-03-09
  • 打赏
  • 举报
回复
olede 是什么啊,ACCESS还是SQL啊?学习
kyoybs 2010-03-09
  • 打赏
  • 举报
回复
你用了分布式事务,但是"192.168.1.101"上的数据库确没有启动这项服务,所以会报错。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧