Download includes the following products:
a) Oracle Developer Tools for Visual Studio (12.2.0.1.0)
b) Oracle Data Provider for .NET 4 (12.2.0.1.0)
c) Oracle Data Provider for .NET 2 (12.2.0.1.0)
d) Oracle Providers for ASP.NET 4 (12.2.0.1.0)
e) Oracle Providers for ASP.NET 2 (12.2.0.1.0)
f) Oracle Data Provider for .NET Oracle TimesTen In-Memory Database (12.2.0.1.0)
g) Oracle Services for MTS (12.2.0.1.0)
h) Oracle Provider for OLE DB (12.2.0.1.0)
i) Oracle ODBC Driver (12.2.0.1.0)
j) Oracle SQL*Plus (12.2.0.1.0)
k) Oracle Call Interface (12.2.0.1.0)
l) Oracle C++ Call Interface (12.2.0.1.0)
m) Oracle Instant Client (12.2.0.1.0)
n) Oracle Universal Installer (12.2.0.1.0)
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.
When deinstalling, use the installation type (i.e. Oracle Universal Installer, xcopy, NuGet, and MSI) that you originally installed the Oracle Home with. You should not deinstall from an Oracle Home created by another installation type. Oracle highly recommends deinstallations be executed with the same version that installed ODAC and for ODAC to be deinstalled first ahead of other Oracle components installed on the Oracle Home.
The instructions below apply to deinstalling ODAC using the Oracle Universal Installer. Xcopy deinstallation instructions are included with the download itself.
To deinstall ODAC silently, execute the following on the command line:
1.<Oracle Home Path>\oui\bin\setup.exe -silent -deinstall DEINSTALL_LIST={"oracle.odac.client","12.2.0.1.0"} ORACLE_HOME=<Oracle Home Path>
The above command deinstalls and unconfigures the ODAC components. However, this approach of uninstalling ODAC will leave some Oracle Client binaries and any user generated files in the Oracle Home. To completely remove all the files and folders within the Oracle Home, one can run the following Windows command in addition to the first command:
2. rmdir <Oracle Home Path>\ /s
Note: The Oracle Home files will not be recoverable once they are deleted. Please back up anything important from the Oracle Home before executing the above command. If you wish to run this same command silently, you can execute the following instead:
3. rmdir <Oracle Home Path>\ /s /q
Automatic Setup
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 .
Manual Setup
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:
C:\app\client\\product\12.1.0\client_1
You will need to know where this directory is before proceeding.
EZCONNECT Setup
1. Copy the sqlnet.ora file located in the following directory:
ORACLE_HOME\Network\Admin\Sample\
to this directory:
ORACLE_HOME\Network\Admin\
This file tells the Oracle client by what methods (e.g. EZCONNECT) Oracle client can connect to the Oracle database server.
2. The Oracle client must then specify a valid user name, password, and data source to connect to the database server. To specify a data source, you can use the EZCONNECT format. In the ODP.NET data source attribute, use the following format to define how the client connects to the database server:
[//]host[:port][/service_name]
For example, some syntactically valid connection strings follow:
"user id=hr;password=hr;data source=//sales-server:1521/sales.us.acme.com"
"user id=hr;password=hr;data source=//sales-server/sales.us.acme.com"
"user id=hr;password=hr;data source=sales-server/sales.us.acme.com"
If the port number is not specified, 1521 is used by default.
TNSNAMES Setup
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.
1. Copy the tnsnames.ora file located in the following directory:
ORACLE_HOME\Network\Admin\Sample\
to this directory:
ORACLE_HOME\Network\Admin\
<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
ODAC offers the option to install in machine-wide or 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 non-machine-wide configuration for a new Oracle Home install and re-installs.
If you plan to install ODAC and the NuGet install for ODP.NET 12.2.0.1 on the same machine, ODP.NET should be configured non-machine-wide. Also, make sure there aren't other ODP.NET 12.2.0.1 versions that have been installed machine-wide.
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 assembly/assemblies that the application depends on will need to be copied over to the application directory and B) proper .NET 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.
ODAC does not support installing into an existing Oracle Server Home. ODAC can be installed into an existing Oracle Client Home if they share the first two major versions for 12.x releases and earlier (i.e. ODAC 12.2 cannot be installed into an ODAC 12.1 home) or if they share the major version for Oracle 18 and later (i.e. Oracle 18 cannot be installed into an Oracle 19 home). When installing into an existing Oracle Client Home, the same installer technology must be used. OUI ODAC can only be installed into an OUI ODAC home; MSI ODAC into an MSI ODAC home; and xcopy ODAC into and xcopy ODAC home.
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.
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.
For any bugs and issues, you may participate in one of the OTN discussion forums for ODAC.