Не удалось выполнить операцию, поскольку поставщику OLE DB «SQLNCLI10» для связанного сервера «(null)» не удалось начать распределенную транзакцию - PullRequest
1 голос
/ 20 июня 2011

Я использую пул соединений для соединения с SQL Server 2008.

С именем JNDI, использующим соединение XA для получения доступа через сервер БД.Теперь все мои запросы выполняются правильно, кроме запросов, использующих OPENROWSET.

Теперь этот OPENROWSET работает нормально при обычном соединении, но при выполнении с подключением XA выдает исключение:

Операция не можетбыть выполненным, потому что поставщику OLE DB «SQLNCLI10» для связанного сервера «(null)» не удалось начать распределенную транзакцию.

Может ли кто-нибудь помочь мне в этой проблеме?Если вы не понимаете, пожалуйста, повторите, я объясню больше.

1 Ответ

0 голосов
/ 17 декабря 2015

Попробуйте это:

Подключитесь к своей базе данных в SQL Server Management Studio, разверните Объекты сервера, затем Связанный сервер, затем щелкните правой кнопкой мыши соответствующий сервер и выберите «Свойства». Выберите страницу «Параметры сервера» и убедитесь, что для параметра «Включить продвижение распределенных транзакций» установлено значение «Ложь»

Или вы можете сделать это с помощью T-SQL :

USE master;
EXEC sp_serveroption '<<your linked server name>>', 'remote proc transaction promotion', 'false';
...