Error message when you try to enlist an Oracle connection in a distributed transaction: "Failed to initialize distributed transactions" (322343)



The information in this article applies to:

  • Microsoft ADO.NET (included with the .NET Framework)

This article was previously published under Q322343

SYMPTOMS

When you try to enlist an Oracle connection in a distributed transaction by using the Microsoft .NET Framework Managed Provider for Oracle, you receive the following System.InvalidOperationException exception:
Failed to initialize distributed transactions. Please see KB article Q322343

CAUSE

This exception occurs on the Open method of the OracleConnection object. Currently, distributed transactions are not supported with the Microsoft .NET Framework Managed Provider for Oracle. All other functionality works with the Microsoft .NET Framework Managed Provider for Oracle.

RESOLUTION

Because of changes that were implemented to support the Microsoft .NET Framework Managed Provider for Oracle, you must have a newer version of the Mtxoci.dll file for distributed transactions to work. The .NET Managed Provider for Oracle now supports distributed transactions.

If you must use distributed transactions, use the .NET Managed Provider for Oracle 1.1 or the Microsoft OLE DB .NET Data provider with the Microsoft OLE DB Provider for Oracle to work around this problem.

REFERENCES

For additional information about how to perform distributed transactions with Microsoft OLE DB .NET Data Provider, click the article number below to view the article in the Microsoft Knowledge Base:

316247 HOW TO: Perform a Distributed Transaction with a .NET Provider by Using ServicedComponent in Visual C# .NET


Modification Type:MinorLast Reviewed:3/9/2006
Keywords:kbtshoot kberrmsg kbOracle kbprb kbProvider kbSystemData KB322343 kbAudDeveloper