Java 无法执行该操作,因为OLE DB provider“;SQLNCLI10";“用于链接服务器”;(无效)“;无法开始分布式事务

Java 无法执行该操作,因为OLE DB provider“;SQLNCLI10";“用于链接服务器”;(无效)“;无法开始分布式事务,java,sql-server-2008,oledb,Java,Sql Server 2008,Oledb,我正在使用连接池连接SQL Server 2008 使用XA连接获得对DB服务器的访问。现在,除了使用OPENROWSET的查询外,我的所有查询都可以正确执行 现在,这个OPENROWSET符文在正常连接下运行良好,但在使用XA连接执行时,它给出了一个异常: 无法执行该操作,因为链接服务器的OLE DB提供程序“SQLNCLI10”(null)无法开始分布式事务 有人能帮我解决这个问题吗? 如果您不明白,请重播,我会详细解释。试试这个: 连接到SQL Server Management Stud

我正在使用连接池连接SQL Server 2008

使用XA连接获得对DB服务器的访问。现在,除了使用OPENROWSET的查询外,我的所有查询都可以正确执行

现在,这个OPENROWSET符文在正常连接下运行良好,但在使用XA连接执行时,它给出了一个异常:

无法执行该操作,因为链接服务器的OLE DB提供程序“SQLNCLI10”(null)无法开始分布式事务

有人能帮我解决这个问题吗? 如果您不明白,请重播,我会详细解释。

试试这个:

连接到SQL Server Management Studio中的数据库,展开“服务器对象”,然后展开“链接服务器”,然后右键单击相关链接服务器并选择“属性”。选择“服务器选项”页面,并确保“启用分布式事务升级”设置为“False”

或者,您也可以使用:

使用master;
EXEC sp_服务器选项“”,“远程进程事务升级”,“false”;
USE master;
EXEC sp_serveroption '<<your linked server name>>', 'remote proc transaction promotion', 'false';