Download includes the following products:
The following items are required for ODAC:
Additional Notes on Requirements:
Note: Visual Studio Express Editions are not supported with the Oracle Developer Tools. However, ODP.NET is supported with Visual Studio Express Edition.
The instructions below apply to installing ODAC using Oracle Universal Installer. Xcopy installation instructions are included with the download itself.
Note: If another ODAC beta is installed, uninstall it before installing this ODAC release.
The instructions below apply to deinstalling ODAC using Oracle Universal Installer. Xcopy deinstallation instructions are included with the download itself.
Connection Setup Quick Start
Automatic Setup -- New in ODAC 12c
When installing ODAC in a new Oracle Home, OUI automatically copies the Oracle local naming (tnsnames.ora), profile (sqlnet.ora), and directory (ldap.ora) parameter files and settings from an existing Oracle Home into the newly installed ODAC home, as long as they share the same bitness (i.e. They are both 32-bit installations or they are both 64-bit installations.)
Alternatively, existing *.ora files can be copied over from another existing Oracle Home, besides the last active one, to the new ODAC Oracle Home. OUI provides location information for these files from up to three other existing Oracle Homes if they exist. The *.ora files can be customized if the new Oracle Home uses a different configuration from the previous Oracle Home from which the files were copied over.
If installing into an existing ODAC or RDBMS Oracle Home, no new *.ora files will be copied or created.
If installing onto a machine without any previous Oracle Homes present, OUI will ask the user for the database connection alias information. OUI will then automatically create the tnsnames.ora file. If no alias information is provided, no tnsnames.ora file will be created. Even if the user doesn't have all the database connection information readily available, Oracle recommends inserting placeholder values during the install process, then modifying the tnsnames.ora file later with actual values to replace the placeholders later.
Install Changes to Machine.config for ODP.NET, Managed Driver
If installing ODP.NET, Managed Driver, OUI automatically copies TNS_ADMIN and LDAP_ADMIN entries into the .NET maching.config file if present in pre-existing Oracle Homes and machine-wide configuration is selected .
Two of the most common methods for connecting an Oracle client to a database are EZCONNECT and TNSNAMES. EZCONNECT is the easiest to setup. TNSNAMES is much more maintainable in the long term. If you are new to Oracle, we recommend you use EZCONNECT. You only have to choose one or the other to connect.
These quick start instructions assume you have a valid username and password for the database server.
Note: In the setup instructions below, ORACLE_HOME represents the directory where the Oracle client Home was installed on your machine. A typical directory for an OUI Oracle client Home is:
You will need to know where this directory is before proceeding.
For example, some syntactically valid connection strings follow:
If the port number is not specified, 1521 is used by default.
An Oracle Net service name allows the Oracle client to use a simple alias to connect to the database server. The alias definition contains all the information needed to create a connection to the database server. Alias information is stored in the tnsnames.ora file typically located in the ORACLE_HOME\Network\Admin directory. This alias is used as the data source value in your connection string. ODAC installations do not create a tnsnames.ora file so you need to create one. The following instructions assume you will have to create a new tnsnames.ora file.
<data source alias> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <hostname or IP>)(PORT = <port>)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <database service name>)))
The data source alias, hostname/IP, port, and database service name in the tnsnames.ora should be modified appropriately. If the TNS entries in the ORACLE_HOME\network\admin\tnsnames.ora file are not recognized by the Oracle client, create a ORACLE_HOME\oracle.key file using any text editor and type in the following line: SOFTWARE\ORACLE\<home key>
where <home key> is the registry key for the ODAC Oracle Home. For example, if the default Oracle Home location was used during the install, the proper entry for the oracle.key file would be the following: SOFTWARE\ORACLE\KEY_OraClient12c_home1
Machine-Wide Configuration - New since ODAC 12c Release 3
ODAC now offers machine-wide and non-machine-wide configuration for managed and unmanaged ODP.NET. The machine-wide configuration includes placing the provider assembly into the GAC and updating the machine.config with configuration section handler and DbProviderFactory information. If non-machine-wide configuration is selected, none of these changes are made. By default, ODAC install uses machine-wide configuration for a new Oracle Home install and re-installs. ODAC install defaults to the same configuration setting chosen for that Oracle Home from the previous installation.
If you plan to install ODAC and the NuGet install for ODP.NET 184.108.40.206 on the same machine, ODP.NET should be configured non-machine-wide. Also, make sure there aren't other ODP.NET 220.127.116.11 versions that have been installed machine-wide, such as ODAC 12c Release 3.
Users can reconfigure ODP.NET from machine-wide configuration to non-machine-wide configuration by re-installing ODP.NET to the same Oracle Home where ODP.NET of the same version is already installed. For example, if you have already configured ODP.NET machine-wide, you can re-configure it by re- installing ODP.NET onto the same Oracle Home AND selecting the non-machine-wide configuration option.
For applications that depend on a version of ODP.NET that was not configured machine-wide, it's important to note that A) ODP.NET asssembly/assemblies that the application depends on will need to be copied over to the application directory and B) proper app.config settings will be required to use Provider Factory and/or Provider-specific configuration. See Chapter 2 of the ODP.NET Developer's Guide for more details.
Common Install and Setup Issues
Viewing the ODP.NET Documentation
The PDF and HTML documentation can be viewed from the ORACLE_HOME\ODACDoc\DocumentationLibrary\welcome.html page. To view this page, go to Start Menu --> Oracle - <Oracle Home> --> Application Development --> Oracle Data Access Components Documentation.
Additionally, the Oracle documentation is installed as part of Visual Studio Dynamic Help.
Support and Bug Reports
For any bugs and issues, you may participate in one of the OTN discussion forums for ODAC.
1. Consult the release notes first for any known issues or limitations.
2. Check if the Oracle data access components were properly downloaded by comparing the download size to the one listed on the download page.
3. If you have more than one Oracle Home installed on the same machine (e.g. Oracle 11g Release 2 client and Oracle 12c Release 1 client), by installing the Oracle 12.1 client, OUI will establish this client as the Oracle Home all your existing applications will use. For more information on using Multiple Oracle Homes with ODP.NET, Unamanged Driver, consult the ODP.NET documentation.
4. It is highly recommended ODAC be installed into a new Oracle Home. Installing ODAC on top of an existing Oracle home may break existing Oracle applications. If you do install on top of an existing Oracle Home, make sure to stop all the Windows services using that Oracle Home (e.g. OracleMTSRecoveryService). Uninstall all the products in the existing Oracle Home before installing the new ODAC version.
Check whether oci.dll in the existing ORACLE_HOME directory has been removed during the uninstall process. If oci.dll was not removed, follow these steps to remove the DLL.
5. If installing ODAC over an existing Oracle 12c Home, already installed ODAC components will not be installed by default. You must manually select the ODAC components to be installed during the install process (i.e. check the checkbox next to the ODAC components to be installed). This is recommended for all ODAC components you wish to use, especially ODP.NET.
6. This installation provides policy configuration files that can redirect existing 10.2 and 11.1 ODP.NET applications to the current ODP.NET version. The policy files are located in the ORACLE_HOME\odp.net\PublisherPolicy\2.x and ORACLE_HOME\odp.net\PublisherPolicy\4 directories. The installation of ODP.NET will NOT place ODP.NET policy DLLs into the GAC, which means existing applications will continue to use the same ODP.NET version they were using before.
7. Installing ODP.NET into a new Oracle Home means that you will not have access to any of the Oracle Data Source aliases from your previous installation. To be able to use these existing data source attributes, copy the tnsnames.ora file in the ORACLE_HOME\network\admin directory from your previous Oracle Home installation to the same directory in your new installation. Or you may create the connection aliases manually by following the Connection Setup Quick Start earlier.
8. Starting with Oracle Database 12c Release 1 (12.1), Oracle Database supports the use of https://www.oracle.com/database/technologies/install-odac-112012-windows.html#setup Oracle Home User, specified at the time of Oracle Database installation. Oracle Home User is used to run the Windows services for the Oracle Home. Oracle Home User can be Windows built-in account or a standard Windows User Account (not an Administrator account). To learn more about the Oracle Home User, consult the Oracle Database Platform Guide for Microsoft Windows.
9. If Oracle Developer Tools (ODT) for Visual Studio 18.104.22.168.0 (part of ODAC 12c Release 3) or later is installed on a machine and the machine is to be downgraded to ODT 22.214.171.124.2 (part of ODAC 12c Release 2) or earlier, the newer ODT version must be deinstalled before installing the older ODT version. Not doing so prevents certain ODT features, such as PL/SQL Debugging, from working.