您的位置:首页技术文章
文章详情页

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

【字号: 日期:2023-12-01 10:00:01浏览:36作者:猪猪

问题描述

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

问题解答

回答1:

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

回答2:

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

标签: java