Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MSDAORA for linked server "ORA SERVER" was unable to begin a distributed transaction  [new]
DJ hippo
Member

Откуда:
Сообщений: 51
Вопрос аналогичный данному
[url=]https://www.sql.ru/forum/1027414/pri-vstavke-v-tablicu-c-linked-procedure-oshibka?hl=unable to begin a distributed transaction[/url]
Пытаюсь забрать данные с ораклового сервера на MSSQL, но есть один нюанс - OPENQUERY работает на ура, скрипт
SELECT	*
INTO _Test_table
FROM OPENQUERY
([ORA SERVER], "SELECT PO_HEADER_ID FROM PO_HEADERS_ALL WHERE ROWNUM <10") 

выполняется

а вот EXECUTE выдает ошибку
The operation could not be performed because OLE DB provider "MSDAORA" for linked server "ORA SERVER" was unable to begin a distributed transaction.
INSERT INTO	_Test_table
EXECUTE
("SELECT PO_HEADER_ID FROM PO_HEADERS_ALL WHERE ROWNUM <10")  AT [ORA SERVER]

Просто EXECUTE без вставки в таблицу также выполняется корректно
Объясню почему меня не устраивает OPENQUERY - у него есть ограничение на кол-во символов в запросе 8000
MSDTC настроен на SQL Server как положено, на сервере Oracle у меня нет прав администратора
Есть идеи как решить данную проблему?
14 авг 13, 16:52    [14709029]     Ответить | Цитировать Сообщить модератору
 Re: MSDAORA for linked server "ORA SERVER" was unable to begin a distributed transaction  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3034
в свое время мне пришлось до установить "Oracle Services For Microsoft Transaction Server"
но сперва проверьте
Message 9


Error 7391: The operation could not be performed because the OLE DB provider 'MSDAORA' does not support distributed transactions. OLE DB error trace [OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction returned 0x8004d01b]
Verify that the OCI versions are registered correctly as described earlier in this article.

Note If the registry entries are all correct, the MtxOCI.dll file is loaded. If the MtxOCI.dll file is not loaded, you cannot perform distributed transactions against Oracle by using Microsoft OLE DB Provider for Oracle or by using Microsoft ODBC Driver for Oracle. If you are using a third-party provider and you receive Error 7391, verify that the OLE DB provider that you are using supports distributed transactions. If the OLE DB provider does support distributed transactions, verify that the Microsoft Distributed Transaction Coordinator (MSDTC) is running.
15 авг 13, 09:12    [14711134]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить