The Microsoft .NET Managed Provider for Oracle depends on the Oramts.dll file to enlist the Oracle connections (843044)



The information in this article applies to:

  • Microsoft .NET Framework 1.1

INTRODUCTION

The Oramts.dll file is used when you try to use Microsoft Transaction Server (MTS) in a distributed environment. The .NET Framework Data Provider for Oracle (System.Data.OracleClient) calls the Application Programming Interfaces (APIs) that are publicly exposed by the Oramts.dll file. The Oramts.dll file is only available in Oracle client connectivity software. To install it on your computer, you must explicitly select the Oracle Services for Microsoft Transaction Server component during the installation of Oracle client connectivity software.

MORE INFORMATION

The Oramts.dll file exposes the public APIs that enlist the Oracle connections that are involved in transactions that are started by Microsoft Distributed Transaction Coordinator (MSDTC). The System.Data.OracleClient assembly calls these APIs when it runs in a transacted environment.

Earlier versions of the System.Data.OracleClient assembly did not support distributed transactions. Therefore, this dependency does not exist before the System.Data.OracleClient assembly version 1.1.

The System.Data.OracleClient assembly uses the Oramts.dll file when you perform distributed transaction activities. The System.Data.OracleClient assembly does not load when you try to perform nontransacted activities, or when you use local transactions. If you do not include this component during the installation of Oracle client connectivity software, and you try to use distributed transactions with System.Data.OracleClient, you may receive the following error message:
System.Data.OracleClient: Unable to load DLL (oramts.dll)
The Oramts.dll file is installed with the Oracle client connectivity components. It is not distributed with any Microsoft software. The Oramts.dll file is not included as a default installation when you install the Oracle client connectivity software. To install this component you must click to select the Oracle Services for Microsoft Transaction Server check box when you install the Oracle client connectivity software. For more information about these components, visit the following Oracle Web site: The Microsoft ODBC Driver for Oracle and the Microsoft OLE DB Provider for Oracle depend on the OracleXaLib, OracleSqlLib, or OracleOciLib registry entries for distributed transaction support. However, the Microsoft .NET Framework 1.1 version of System.Data.OracleClient does not depend on the OracleXaLib, OracleSqlLib, or OracleOciLib registry entries. These entries are not required to participate in the distributed transactions with the .NET Managed Provider for Oracle. For more information about these entries, visit the following Microsoft Web site:

REFERENCES

For more information about MTS, visit the following Microsoft Web site:For more information, visit the following Microsoft Developer Network Web sites: For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

280106 How to set up and troubleshoot a linked server to an Oracle database in SQL Server

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

The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.

Modification Type:MajorLast Reviewed:5/23/2006
Keywords:kbOracle kbDLL kbTransaction kbconnectivity kbhowto kbinfo KB843044 kbAudDeveloper