Propojeni MS SQL s Oracle, distrib transakce

Skokan Radek rskokan na anect.com
Pondělí Říjen 20 14:00:45 CEST 2003


Zdravim,
potrebuji z databaze na MSSQL (2000) vkladat a menit data v databazi na Oracle (9i).

Nainstaloval jsem si na MS stroj Oraclovskeho klienta a OLEDB provider, udelal jsem si sp_addlinked server a sp_addlinkedsrvlogin.
Samotny INSERT, UPDATE, ... pres OPENQUERY funguje. Problem nastane, kdyz potrebuji mit nad tabulkou na MSSQL trigger, ktery spousti operace na strane Oraclu. Dotaz se vyvolava v distribuovane transakci a objevi se mi chyba:

Server: Msg 7391, Level 16, State 1, Line 2
The operation could not be performed because the OLE DB provider 'MSDAORA' was unable to begin a distributed transaction.
OLE DB error trace [OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction returned 0x8004d01b].

Na webu jsem se dival a nasel jsem doporuceni jen pro Ora 8(i). Podobny postup jsem vyzkousel pro 9i, ale stale bez uspechu.

- uzivatel, pod kterym pristup probiha, vidi pohled na Ora DBA_PENDING_TRANSACTIONS
- na MS bezi Distributed Transaction Coordinator
- hodnoty DLLek v registrech jsou upravene

Nevite, co je jeste treba udelat?

Diky,
Radek



Další informace o konferenci Test