由于OLE DB提供程序"SQLNCLI10"被禁用,因此无法执行该操作.对于链接服务器"DB_PROD_04";无法开始分布式交易 [英] The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "DB_PROD_04" was unable to begin a distributed transaction

查看:143
本文介绍了由于OLE DB提供程序"SQLNCLI10"被禁用,因此无法执行该操作.对于链接服务器"DB_PROD_04";无法开始分布式交易的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两台服务器:

SQL_UAT_01

SQL_UAT_01

DB_PROD_04

DB_PROD_04

这两个服务器都具有相同的数据库名称和相同的表:

Both of these servers have the same database name and same tables:

SQL_UAT_01.Database_01.TestTable

SQL_UAT_01.Database_01.TestTable

DB_PROD_04.Database_01.TestTable

DB_PROD_04.Database_01.TestTable

这两个表上都有一个触发器.

There is a trigger on each of these two tables.

触发触发器时,它将在OTHER服务器的表上执行简单的UPDATE.

When the trigger fires, it does a simple UPDATE on the table of the OTHER server.

示例

在这里触发触发器:

SQL_UAT_01.Database_01.Test

SQL_UAT_01.Database_01.Test

它在这里进行更新:

DB_PROD_04.Database_01.Test

DB_PROD_04.Database_01.Test

反之亦然.

我遇到了一个错误,我不知道如何解决.

I'm running into an error which I have no clue how to fix.

同样,错误是这样的:

CallableStatementCallback;错误的SQL语法[{call spGetAndIncrementIndex(?)}];嵌套的例外是 com.microsoft.sqlserver.jdbc.SQLServerException:该操作可能 由于链接服务器的OLE DB提供程序"SQLNCLI10"而无法执行 "DB_PROD_04"无法开始分布式事务.

CallableStatementCallback; bad SQL grammar [{call spGetAndIncrementIndex(?)}]; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "DB_PROD_04" was unable to begin a distributed transaction.

我已经在两边都链接了服务器.

I have already linked the servers on both sides.

有人知道我应该如何解决这个问题吗?

Does anyone have ANY idea how I should go about fixing this?

推荐答案

答案是在服务器上安装DT.这是Windows的功能.我安装了它,哇啦!

The answer was to install the DT on the server. It's a windows feature. I installed it and wahllah!

这篇关于由于OLE DB提供程序"SQLNCLI10"被禁用,因此无法执行该操作.对于链接服务器"DB_PROD_04";无法开始分布式交易的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆