Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 MSSQLExpress+ORA+MSDTC  [new]
Ponk
Member

Откуда:
Сообщений: 3
Понятно, что боян, но пните пожалуйста в нужную строну.
Не совсем понятно как работает MSDTC.
Дано:
Windows Server 2008 SP2 64bit
MSSQLExpress2008 64bit
Oracle Client 10.2.0.4 64bit
+ 32bit приложение работающее с MSSQL через ODBC.

К MSSQL прилинкован Oracle. Выборки нормально работают. Но понадобилось инсертить в таблицу на Oracle.
Из ManagementStudio все нормально отрабатывает, но когда пытаюсь выполнить запрос из приложения, то:
[1734 ms] General error[-1,37000] [Microsoft][ODBC SQL Server Driver][SQL Server]The operation could not be performed because OLE DB provider "OraOLEDB.Oracle" for linked server "OEBS" was unable to begin a distributed transaction.

MSDTC настроил на сетевой доступ.
Файервол выключен.
Сервер Оракла на UNIXe и хз где(по хосту пингуется), открыт туда только 1524 порт.

К сообщению приложен файл. Размер - 45Kb
8 авг 11, 17:36    [11087404]     Ответить | Цитировать Сообщить модератору
 Re: MSSQLExpress+ORA+MSDTC  [new]
Edkonst2008
Member

Откуда:
Сообщений: 503
Ponk,

Возможно, нет прав на оракле у пользователя на insert-ы
8 авг 11, 21:09    [11088315]     Ответить | Цитировать Сообщить модератору
 Re: MSSQLExpress+ORA+MSDTC  [new]
Ponk
Member

Откуда:
Сообщений: 3
В общем все разрешилось!
Необходимые условия:
1. Запущена служба MSDTC
2. В настройках MSDTC необходимо включить сетевой доступ, и разрешить XA транзакции - как на картинке выше.
3. При установке клиента ORACLE необходимо установить "Oracle service for DTC" (Делается это только в кастом установке, порт я оставил по умолчанию.)
4. Перезагрузка
5. при выполнении транзакции необходимо:
Установить режим изоляции, я поставил SERIALIZABLE т.к. мне не критично, в других случаях надо плясать от задачи.
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
И установить режим отката
SET XACT_ABORT ON;
ВсЁ!

Всем спасибо, думаю хоть кому-то поможет.
9 авг 11, 13:33    [11091149]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить