As per standard procedure we've been using for years for previous versions of both Oracle and SQL Server, I have installed Oracle's latest ODAC package, which includes the Oracle OLE driver onto our new SQL Server 2008 R2 x64 nodes. I have done the recommended system reboot, but OraOLEDB.Oracle does not show in the Linked Servers\Providers node in SSMS. The only difference between this installation and previous SQL Server installations is that I am now using SQL Server x64 (on Windows 2008 R2). Should this make any difference?
Note that I am able to connect to Oracle servers using SQL*Plus from the SQL Server nodes directly. The only thing I am missing is that Provider. Anyone know what I am missing? There are many posts around the web, but there seems to be a lot of confusion and outdated links to Oracle's download page.
The ONLY thing I need to be able to do is create a linked server to Oracle, and run select queries against it. I don't need to do anything through Visual Studio.
After hours of research, I managed to cobble together some working instructions for Oracle 11g R2. As it turns out, you will likely need both the 32 and 64 bit clients installed to have things working in BIDS/Visual Studio/SSMS. I may have installed more Oracle components than I needed, but here's what worked for me:
Now that the install is done, just need to tweak a few things.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI
OracleOciLib
should beoci.dll
OracleSqlLib
should beorasql11.dll
OracleXaLib
should beoraclient11.dll
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSDTC\MTxOCI
tnsnames.ora
in C:\Oracle\product\11.2.0\client_32\network\admintnsnames.ora
in C:\Oracle\product\11.2.0\client_64\network\adminOraOLEDB.Oracle
as a provider under Linked Servers\Providers in SSMSGood luck!
Yes, the system architecture makes a lot of difference.
You need to install the x64 Oracle client software for Windows.