As I am dumping into alot of differnt types of issues at work I found this a particular good way of installing both the x64 and x86 version of Oracle client. In this case I was setting up a webserver with different legacy intranet sites for a customer. Some elements uses the x64 oracle client and some uses the x86 client. Previously I have used the guides below which has worked fine on Windows 2008.

 Before installing the Oracle client you need to have installed the Visual C++ Runtime library:

Download the x86 client here: 

Download the x64 client here: 

Then continue to install the Oracle client.

Install the x64 first

  • Open Registry and create following registry Key HKEY_LOCAL_MACHINE\SOFTWARE\Wow64Node\ORACLE
  • Within the Oracle key create a new String value called inst_loc and set the value to C:\Program Files\Oracle\Inventory


Test odbc comes up

Install the x86

Test odbc comes up.

Create oracle shortcuts

Create tnsnames.ora link to c:\oracle

Add path TNS_ADMIN to c:\oracle in environment variables.

mkdir c:\oracle\x64\client_1\network\admin

cd c:\oracle\x64\client_1\network\admin

mklink tnsnames.ora c:\oracle\tnsnames.ora

mkdir c:\oracle\x86\client_1\network\admin

cd c:\oracle\x86\client_1\network\admin

mklink tnsnames.ora c:\oracle\tnsnames.ora

Now create a tnsnames.ora file in c:\oracle\.


Update registry values for OleDB access (Required for Linked Servers in SQL Management Studio: 

  1. Make registry changes to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI
  2. OracleOciLib should be oci.dll
  3. OracleSqlLib should be orasql11.dll (for Oracle 12c use orasql12.dll)
  4. OracleXaLib should be oraclient11.dll (for Oracle 12c use oraclient12.dll)
  5. Make same registry changes to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSDTC\MTxOCI
  6. Reboot!

You should now see OraOLEDB.Oracle as a provider under Linked Servers\Providers in SSMS