Skip Headers
Oracle® Data Provider for .NET Developer's Guide
12c Release 1 (

Part Number E41125-02
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Feedback page
Contact Us

Go to previous page
Go to next page
PDF · Mobi · ePub

Installing Oracle Data Provider for .NET, Unmanaged Driver

Oracle Data Provider for .NET is part of Oracle Data Access Components (ODAC), which can be downloaded from OTN. Beginning with ODAC, Oracle Data Provider for .NET can be installed through XCopy or Oracle Universal Installer.


This section describes installation using the Oracle Universal Installer. For installation and configuration using the XCopy install, refer to the README.TXT file that is part of the XCopy installation.

Additionally, Oracle Data Provider for .NET Dynamic Help is registered with Visual Studio, providing context-sensitive online help that is seamlessly integrated with Visual Studio Dynamic Help. With Dynamic Help, the user can access ODP.NET documentation within the Visual Studio IDE by placing the cursor on an ODP.NET keyword and pressing the F1 function key.

Oracle Data Provider for .NET creates an entry in the machine.config file of the computer on which it is installed, for applications using the OracleClientFactory class. This enables the DbProviderFactories class to recognize ODP.NET.

See Also:

Oracle Database Installation Guide for Microsoft Windows for installation instructions

Installing ODP.NET, Managed Driver using Oracle Database 12c Release 1 (12.1) Installation Package

The Oracle Database 12c Release 1 (12.1) on Windows installation package (32-bit client, 64-bit server, and 64-bit client) includes a XCopy installable version of ODP.NET, Managed Driver. Each of these installation packages contains both the ODP.NET, Managed Driver assemblies for 32-bit and 64-bit .NET Framework.

To install ODP.NET, Managed Driver from the Oracle Database 12c Release 1 (12.1) on Windows installation package, follow the instructions below.


These instructions do not apply to ODAC installations.
  1. Download 32-bit Oracle Database 12c Release 1 (12.1) client, 64-bit Oracle Database 12c Release 1 (12.1) server or client for Windows.

  2. Install the software. Ensure that Oracle Data Provider for .NET is selected as a component to be installed.

  3. ODP.NET, Managed Driver is now installed on the machine. It must now be configured. Run the configure.bat script in one of the following directories:

    • For 32-bit .NET Framework: OH\\managed\x86

    • For 64-bit .NET Framework: OH\\managed\x64

    Each directory contains an unconfigure.bat if ODP.NET, Managed Driver needs to be unconfigured and removed from the machine.

File Locations After Installation

The Oracle.DataAccess.dll assembly is installed to the following locations:

.NET Framework 2.0:

ORACLE_BASE\ORACLE_HOME\\bin\2.x directory

.NET Framework 4:

ORACLE_BASE\ORACLE_HOME\\bin\4 directory


If the machine has the corresponding .NET Framework installed, then the Oracle.DataAccess.dll assembly is added to the Global Assembly Cache (GAC) as well. This is to ensure that existing applications can start using the newly installed ODP.NET version immediately. However, if this is not desired, be sure to remove the policy DLLs from the GAC.

Documentation and the readme.txt file can be accessed through ORACLE_BASE\ORACLE_HOME\ODACDoc\DocumentationLibrary\doc\index.htm.

Samples are provided in the ORACLE_BASE\ORACLE_HOME\ODACsamples directory.

Search Order for Unmanaged DLLs

ODP.NET consists of managed and unmanaged binaries. Through the use of the DllPath configuration parameter, each application can specify the ORACLE_BASE\\ORACLE_HOME\bin location that the dependent unmanaged Oracle Client binaries are loaded from. However, the ORACLE_BASE\\ORACLE_HOME must have the same ODP.NET version installed as the version that the application uses. Otherwise, a version mismatch exception is thrown.

The Oracle.DataAccess.dll searches for dependent unmanaged DLLs (such as Oracle Client) based on the following order:

  1. Directory of the application or executable.

  2. DllPath setting specified by application config or web.config.

  3. DllPath setting specified by machine.config.

  4. DllPath setting specified by the Windows Registry.


  5. Directories specified by the Windows PATH environment variable.

Upon installation of ODP.NET, Oracle Universal Installer sets the DllPath Windows Registry value to the ORACLE_BASE\\ORACLE_HOME\bin directory where the corresponding dependent DLLs are installed. Developers must provide this configuration information on an application-by-application basis.

When a new ODP.NET version is installed, default values are set in the Windows Registry for the new version. Because the policy DLLs redirect all ODP.NET references to this new ODP.NET version, applications use the default values. Developers can provide a config or web.config file specific to the application to prevent this redirection. The configuration file settings always apply to the application, regardless of whether or not patches or new versions are installed later.

ODP.NET Configuration File Support is only available for version and later.


Both Oracle.DataAccess.dll for .NET Framework 2.0 and Oracle.DataAccess.dll for .NET Framework 4 use the same unmanaged DLL, OraOps11w.dll.

ODP.NET and Dependent Unmanaged DLL Mismatch

To enforce the usage of Oracle.DataAccess.dll assembly with the correct version of its unmanaged DLLs, an exception is raised if Oracle.DataAccess.dll notices it has loaded a mismatched version of a dependent unmanaged DLL.