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

用户提出需求要求我们的项目同时处理他们原有项目的数据。新项目和原项目数据库都是sqlserver2005,分别在不同的服务器上,测试环境sqlserver2005链接服务器sqlserver2012。我打算在新项目数据库上建立链接服务器操作旧服务器上的数据库,但是项目实际运行期间发现从项目中使用sql语句通过链接服务器操作旧数据库时出现了错误,验证过sql语句在新数据库中执行没有任何问题。百度了很多方法启动MSDTC服务、关闭防火墙、加set xact_abort ON、通过管理工具设置、直接使用JDBC访问数据库等,都没有解决问题。
报错信息:
图片描述

阅读 5.3k
2 个回答
新手上路,请多包涵

是否对比了两台服务器的Sevice Pack和所有KB的异同?

目前找到一种折中的办法,添加公用方法使用JDBC操作旧服务器上的数据库,但是维护起来不太方便,期待有大神能够给出正确解决方案。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题