OraOLEDB.Oracle 未显示在 SSMS 的提供程序列表中

OraOLEDB.Oracle 未显示在 SSMS 的提供程序列表中

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

我所做的是:

  1. 使用命令提示符以管理员身份安装了提供程序的 32 位和 64 位版本(来自 Oracles 页面的 ODAC 版本):.\install.bat oledb c:\oracle\odac64 odac64 true适用于 64 位。
  2. 将 32 和 64 oracle 路径添加到环境变量中。
  3. 重新开始。

那么提供程序未在管理工作室中列出。

我还创建了一个 UDL 文件,但该文件确实出现在那里。

regsvr32 orasql12.dll我尝试使用 64 位和32 位注册它们c:\windows\syswow64\regsvr32.exe orasql12.dll,但出现以下错误:

模块“orasql12.dll”加载失败。请确保二进制文件存储在指定路径中,或者对其进行调试以检查二进制文件或相关 .DLL 文件是否存在问题。

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

对此有什么想法吗?

答案1

错误来自regsvr32,意味着orasql12.dll依赖关系未得到满足。使用文档。以下是我发现的内容:

系统要求

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

  • Windows 98、Windows NT 4.0、Windows 2000 或 Windows XP
  • 访问 Oracle 服务器(版本 8 或更高版本)
  • Oracle 网络服务
  • 提供商需要随 Microsoft Data Access Components (MDAC) 2.1 或更高版本提供的可再发行文件。这些文件可在 Microsoft 网站上找到: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 的 PATH 变量中。例如,如果您使用 install.bat 文件在 C:\Oracle 安装文件,则需要将路径“C:\Oracle”和“C:\Oracle\bin”放在 PATH 变量中。您可以通过右键单击“我的电脑”并选择“属性”来找到此变量(对于 Windows Vista/7 用户,右键单击“计算机”,然后选择“属性”,然后选择“高级系统设置”)。单击“高级”选项卡,然后单击“环境变量”按钮。在“系统变量”列表中,您将找到 PATH 变量。我希望这对其他人有所帮助……我花了好几天时间让 oledb 提供程序工作……

您还可以使用依赖性遍历器自行检查。请参阅这里了解更多信息。

答案2

我又开始研究并找到了解决方案这里

我认为这只会在 Windows Server 上发生。

我们需要注册,它在以下OraOLEdb12.dll目录中:bin

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

PD:Dependency Walker 是一个很棒的工具,我尝试过它,它让我知道了非常有用的信息!

相关内容