我正在尝试在 Windows Server 2008 R2 Datacenter 64 位版本中为 SQL Server Management Studio 使用提供程序 OraOLEDB.Oracle。
我所做的是:
- 使用命令提示符以管理员身份安装了提供程序的 32 位和 64 位版本(来自 Oracles 页面的 ODAC 版本):
.\install.bat oledb c:\oracle\odac64 odac64 true
适用于 64 位。 - 将 32 和 64 oracle 路径添加到环境变量中。
- 重新开始。
那么提供程序未在管理工作室中列出。
我还创建了一个 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 是一个很棒的工具,我尝试过它,它让我知道了非常有用的信息!