×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

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

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

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

(OP)
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?

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

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

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close