OraOLEDB.Oracle不在SSMS提供商列表中显示

我正尝试在Windows Server 2008 R2 Datacenter(64位版本)中为SQL Server Management Studio使用提供程序OraOLEDB.Oracle。

我所做的是:

  1. 以pipe理员身份使用命令提示符安装提供程序的32位和64位版本(来自Oracles页面的ODAC版本): .\install.bat oledb c:\oracle\odac64 odac64 true对于64位为.\install.bat oledb c:\oracle\odac64 odac64 true
  2. 向环境variables添加了32和64的oraclepath。
  3. 重新开始。

然后提供者不在Management Studio中列出。

我也创build了一个UDL文件,但是文件显示在那里。

我试图用regsvr32 orasql12.dll注册64位和c:\windows\syswow64\regsvr32.exe orasql12.dll 32位,但我得到了以下错误:

模块“orasql12.dll”未能加载。 确保二进制文件存储在指定的path或debugging它来检查二进制或depenedent .DLL文件的问题。

但是,安装程序应该注册这两个提供商,所以我不认为这是问题。

任何想法呢?

该错误来自regsvr32 ,意味着orasql12.dll有一个不满足的依赖。 仔细检查文档 。 这是我发现的:

系统要求

在使用Oracle Provider for OLE DB的系统上需要以下项目:

  • Windows 98,Windows NT 4.0,Windows 2000或Windows XP
  • 访问Oracle服务器(版本8或更高版本)
  • Oraclenetworking服务
  • 提供商需要Microsoft数据访问组件(MDAC)2.1或更高版本提供的可再发行文件。 这些文件可从Microsoft网站获得: http://www.microsoft.com/data/oledb/
  • Oracle Services for Microsoft Transaction Server(版本9.0)。 对于使用Microsoft Transaction Server(MTS)或COM +的客户,此项目是必需的。

我也在Oracle论坛上发现了一个主题 :

经过更多的研究,我发现这个问题是我的问题。 在解压缩的64位提供程序文件夹中包含的readme.htm文件中,它解释了在通过install.bat安装文件之后,需要将安装文件的位置放在Windows的PATHvariables中。 例如,如果使用install.bat文件在C:\ Oracle上安装文件,则需要在PATHvariables中放置path“C:Oracle”和C:\ Oracle \ bin“,可以find这个variables右键单击我的电脑,然后select属性(对于Windows Vista / 7用户,右键单击计算机,然后select属性,然后select高级系统设置)单击高级选项卡,然后单击环境variablesbutton在系统variables列表中,会发现PATHvariables,我希望这可以帮助别人….我努力让oledb提供者工作几天…

您也可以使用Dependency Walker自行检查。 在这里看到更多的信息。

我再次开始研究,我在这里find了一个解决scheme

我认为这仅仅发生在Windows Server上。

我们需要注册OraOLEdb12.dll ,它位于目录bin ,如下所示:

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

PD:伟大的工具是依赖沃克,我试了一下,让我知道一个非常有用的信息!