Business Objects XI выполняет РАСПРЕДЕЛЕННУЮ СДЕЛКУ по умолчанию - Как отключить? - PullRequest
0 голосов
/ 17 июля 2009

У меня есть отчет Business Objects Web Intelligence, который выполняет распределенный запрос к двум базам данных.

Когда я запускаю этот запрос, который включает НАЧАЛО РАСПРЕДЕЛЕННОЙ ЗАПРОСА СДЕЛКИ

SET xact_abort ON
GO
ИСПОЛЬЗОВАНИЕ Pipeline2
GO
НАЧАЛО РАСПРЕДЕЛЕННОЙ СДЕЛКИ
SELECT * FROM [CQSR_PROD] .CqUSer.Cq4User1.Defect
COMMIT TRAN
GO

Я получаю эту ошибку:

Сервер: сообщение 7391, уровень 16, состояние 1, строка 2 Операция не может быть выполнена, поскольку поставщик OLE DB 'SQLOLEDB' не смог начать распределенную транзакцию. [Поставщик OLE / DB возвратил сообщение: новая транзакция не может быть включена в указанный координатор транзакций. ] Трассировка ошибок OLE DB [поставщик OLE / DB 'SQLOLEDB' ITransactionJoin :: JoinTransaction возвратил 0x8004d00a].

Я хочу устранить эту ошибку. Я видел эту статью KB ...

http://support.microsoft.com/kb/839279

и до сих пор администраторы Sys включили флажок «Разрешить входящий», но это не помогло. Я считаю, что все серверы участвуют в качестве серверов Windows 2003.

Получение изменений, внесенных в производственные серверы, чтобы опробовать оставшиеся опции, объясненные в статье KB, хуже, чем вырывать зубы, поскольку они очень осторожны в отношении своих изменений. В результате я ищу работу вокруг:

Есть ли способ указать BO NOT на выполнение распределенной транзакции при запросе? Если я удаляю «НАЧАЛО РАСПРЕДЕЛЕННОЙ СДЕЛКИ» из вышеупомянутого SQL, все работает. Кажется, BO делает это по умолчанию.

1 Ответ

0 голосов
/ 27 июля 2009

Я пробовал два пути.

1) Попытайтесь получить BO, чтобы не инициировать транзакцию DIST 2) Попробуйте устранить ошибку, которую BO возвращает при выполнении DIST TRANS на наших serevrs.

Мне удалось найти решение для # 2:

http://www.howtogeek.com/howto/windows/fix-new-transaction-cannot-enlist-in-the-specified-transaction-coordinator-on-server-2003-sp2/

...