Ошибка распределенной транзакции? - PullRequest
3 голосов
/ 09 августа 2011

В хранимой процедуре я использую следующие утверждения.Но это выдает ошибку распределенной транзакции, когда я запустил Stored Proc.

Declare @res int
    Declare @mes as varchar(100)

    DECLARE  @Result TABLE (
result INT,
mesage VARCHAR(100))

    Insert @Result (result, mesage)         
            Exec [MySpeNet].[dbo].[GetMemberShipStatus]'3319994'
    select @res = result, @mes = mesage from @Result

Исключение:

      Msg 7391, Level 16, State 2, Procedure GetMemberShipStatus, Line 19
    The operation could not be performed because OLE DB provider "OraOLEDB.Oracle" 
for linked server "ASPQA" was unable to begin a distributed transaction.

ИЛИ

Есть ли другой способ сохранить результат исообщение без создания таблицы Temp?

Ответы [ 2 ]

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

Вот что у меня сработало:

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

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

USE master;
EXEC sp_serveroption '<<your linked server name>>', 'remote proc transaction promotion', 'false';
3 голосов
/ 06 сентября 2011

Включить опции

  • Разрешить удаленных клиентов
  • Разрешить исходящий

На вкладке «Безопасность» свойств локального кода неисправности в службах компонентов.

  • Go To Run, введите comexp.msc.
  • Дважды щелкните «Корень консоли».
  • Дважды щелкните «Службы компонентов».
  • Дважды щелкните «Компьютеры».
  • Дважды щелкните «Мой компьютер».
  • Дважды щелкните «Координатор распределенных транзакций».
  • Щелкните правой кнопкой мыши «Локальный код неисправности» в разделе «Координатор распределенных транзакций» и выберите свойства.
  • Перейдите на вкладку «Безопасность».
  • Установите флажки «Разрешить удаленных клиентов» и «Разрешить исходящие».
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...