Distributed Transaction

Dear Expert,
                 I have to access Oracle DB from MS SQL Server 2000.
My OS is Win2k adv server 2000 sp3.

I connect the Oracle Server with Link Server Technology of MS SQL Server.
I use OraOLEDB.Oracle driver.

The code is

SET XACT_ABORT ON
BEGIN DISTRIBUTED TRANSACTION

insert into openquery(kn,'select * from customer_info') values ('cust0005','customer 5')

COMMIT

where kn is Oracle service name and schema name.

When the code is run, following error occurs.

The operation could not be performed because the OLE DB provider 'OraOLEDB.Oracle' was unable to begin a distributed transaction.

OLE DB error trace [OLE/DB Provider 'OraOLEDB.Oracle' ITransactionJoin::JoinTransaction returned 0x8004d00a].


I already start the MSDTC service and RPC service.

Yours'
konge
kongeAsked:
Who is Participating?
 
danblakeCommented:
Specifically....

Troubleshooting Oracle Linked Server:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;280106


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]
Check if the OCI versions are registered correctly as described earlier in this article.


Also a new driver is available here:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;244661 for Oracle 9i.
0
 
danblakeCommented:
Could I ask, why does this get a grade C ??
0
All Courses

From novice to tech pro — start learning today.