1

I am trying to use the provider OraOLEDB.Oracle for SQL Server Management Studio in a Windows Server 2008 R2 Datacenter, 64 bits edition.

What I have done is:

  1. Installed the 32 and 64 bits version for the provider (ODAC version from Oracles' page) by using the command prompt as administrator: .\install.bat oledb c:\oracle\odac64 odac64 true for 64 bits.
  2. Added the the 32 and 64 oracle path to the Environment Variables.
  3. Restart.

Then the provider is not listed in the Management Studio.

I also created an UDL file, but the file did show up there.

I tried to register them with regsvr32 orasql12.dll for 64 bits and c:\windows\syswow64\regsvr32.exe orasql12.dll for 32 bits but I got the following error:

The module "orasql12.dll" failed to load. Make sure the binary is stored at the specified path or debug it to check for problems with the binary or depenedent .DLL files.

However, the installer was supposed to register both providers, so I don't think that is the problem.

Any ideas on this?

Jamo
  • 113
  • 1
  • 1
  • 6

2 Answers2

0

The error comes from regsvr32 and means orasql12.dll has a dependency that's not satisfied. Double-check with the documentation. Here's what I've found:

System Requirements

The following items are required on a system to use Oracle Provider for OLE DB:

  • Windows 98, Windows NT 4.0, Windows 2000, or Windows XP
  • Access to an Oracle Server (release 8 or later)
  • Oracle Net Services
  • Redistributable files provided with Microsoft Data Access Components (MDAC) 2.1 or higher are required by the provider. These files are available at the Microsoft Web site: www.microsoft.com/data/oledb/
  • Oracle Services for Microsoft Transaction Server (release 9.0). This item is required for consumers using Microsoft Transaction Server (MTS) or COM+.

I have also found a thread on Oracle forums:

After some more research, I found the issue to my problem. In the readme.htm file that's included in the unzipped 64-bit providers folder, it explains that after you install the files through install.bat, you need to place the location you installed the files in the PATH variable for windows. For example, if you use the install.bat file to install the files at C:\Oracle, you need to place the paths "C:Oracle" and C:\Oracle\bin" in the PATH variable. You can find this variable by right-clicking on My computer and selecting Properties (for Windows Vista/7 users, it's right clicking on Computer then properties then advanced system settings). Click on the Advanced tab and click the Environment Variables button. In the Systems variables list, you'll find the PATH variable. I hope this helps someone else.... I worked on getting the oledb provider to work for days...

You can also use Dependency Walker to check by yourself. See here for more information.

Qrchack
  • 103
  • 2
0

I started researching again and I found a solution here

I think it is something that happens for Windows Server only.

We need to register the OraOLEdb12.dll instead, which is in the directory bin as follows:

regsvr32 c:\oracle\odac64\bin\OraOLEDB12.dll

PD: Great tool is that Dependency Walker, I tried it and let me know a very useful information!

Qrchack
  • 103
  • 2
Jamo
  • 113
  • 1
  • 1
  • 6