Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Oracle 8i/ADO - Failed to enlist global transaction with DTC

Status
Not open for further replies.

rtelis

Programmer
Jan 9, 2001
1
0
0
GB
Summary:

Repeatedly calling a method on an MTS object that indirectly opens ADO connections to an Oracle 8.1.6 database causes ‘Failed to enlist global transaction with DTC’ error.

Environment:

MDAC 2.5 (SP1);
Oracle ODBC driver 8.1.6
Oracle Manager for MTS;
Oracle8i Enterprise Edition 8.1.6.1.0;
PL/SQL 8.1.6.1.0;
TNS for 32-bit Windows: 8.1.6.0.0;
NT 4 (SP6a).

Details:

I have two components (A and B) created using VB 6 (SP3) which run under MTS and are configured such that each component ‘Requires a transaction’. Component A creates a module level instance of component B (object B), using the CreateInstance method of the context object. Component A repeatedly calls the same method (X) on object B in a loop that should result in between 60 and 180 calls to method X. However, on (and always on) the fourth call to method X, the following error is raised:

[Oracle][ODBC]Failed to enlist global transaction with DTC
-2147168246 (8004D00A)

Component A uses a module level ADO connection object that is kept open during processing (via a single public method on component A), and calls stored procedures to select from and update data in an Oracle database. Component B calls on other MTS components that open their own ADO connections to select data from and insert data into the database. All of these called components are configured such that each ‘Requires a transaction’. The error is raised during a method call on one of the components (C) called by Component B.

If I configure Component B in MTS such that it ‘Requires a new transaction’, then the above error does not occur. However, I require that all of the processing is contained in a single transaction.

Does anybody have any suggestions?
 
Hello,
I have problem with MTS & Oracle ....
=================================
Enviroment:
Oracle 8.1.5.0 (Sun Solaris)
MTS 2.0
NT 4.0 Server (NT SP6a)
VB 6.0 with SP4
Oracle Client SW (7.3.2)
----------------------------------

Application which I use have 2 components.
1. which Required New Transaction
2. Support Transaction

occure error is :
" -2147168246 New transaction cannot enlist transaction coordinator"

Please, Help me ...
Martin
stufi@strom.cz
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top