【问题标题】:The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "(null)" was unable to begin a distributed transaction无法执行操作,因为链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI10”无法开始分布式事务
【发布时间】:2011-09-18 10:39:48
【问题描述】:
我正在使用连接池连接 SQL Server 2008。
使用 JNDI 名称使用 XA 连接来获取跨数据库服务器的访问权限。现在我的所有查询都能正常执行,除了使用 OPENROWSET 的查询。
现在这个 OPENROWSET 在正常连接下运行良好,但在使用 XA 连接执行时会出现异常:
无法执行操作,因为链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI10”无法开始分布式事务。
谁能帮我解决这个问题?
不明白请重播,我再解释。
【问题讨论】:
标签:
java
sql-server-2008
oledb
【解决方案1】:
试试这个:
在 SQL Server Management Studio 中连接到您的数据库,展开服务器对象,然后是链接服务器,然后右键单击相关链接服务器并选择“属性”。选择“服务器选项”页面,并确保“启用分布式事务提升”设置为“假”
或者您可以使用T-SQL:
USE master;
EXEC sp_serveroption '<<your linked server name>>', 'remote proc transaction promotion', 'false';