无法执行该操作,因为链接服务器 "XXX" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。
各位我用客户端程序连接服务器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" 返回了消息 "没有活动事务。"。
偶已经折腾了一天了,希望有高手给我解决了,跪谢 --------------------编程问答-------------------- 你用了分布式事务,但是"192.168.1.101"上的数据库确没有启动这项服务,所以会报错。 --------------------编程问答-------------------- olede 是什么啊,ACCESS还是SQL啊?学习 --------------------编程问答-------------------- 我的MDTC RPC的两个服务都全部启动了,但是还是报上面的错误
希望回复中 --------------------编程问答-------------------- 看一下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命令有鏈接服務器的選項說明
--------------------编程问答-------------------- 试试那个,应该OK吧。
补充:.NET技术 , C#