【问题标题】: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';
    

    【讨论】:

      猜你喜欢
      • 2012-10-31
      • 2014-07-23
      • 1970-01-01
      • 2013-09-10
      • 2017-09-19
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多