如何安装在SQL Server 2008 R2 x64中使用的Oracle OLE驱动程序


10

按照我们多年来一直在Oracle和SQL Server早期版本中使用的标准过程,我已经在最新的SQL Server 2008 R2 x64节点上安装了Oracle最新的ODAC软件包,其中包括Oracle OLE驱动程序。我已经完成了建议的系统重新引导,但是OraOLEDB.Oracle没有显示在SSMS的“链接的服务器\提供程序”节点中。此安装与以前的SQL Server安装之间的唯一区别是,我现在正在使用SQL Server x64(在Windows 2008 R2上)。这应该有什么区别吗?

请注意,我能够使用SQL * Plus从SQL Server节点直接连接到Oracle服务器。我唯一缺少的是那个提供商。有人知道我在想什么吗?网上有很多帖子,但是似乎有很多混乱和指向Oracle下载页面的链接已经过时。

我唯一需要做的就是创建一个到Oracle的链接服务器,并对它运行选择查询。我不需要通过Visual Studio做任何事情。


对于此操作,我有一个更简单的答案,但它涉及Oracle 12驱动程序和SQL Server2012。我应该对此问题添加答案还是提出新问题?
Baodad

Answers:


15

经过数小时的研究,我设法整理了一些有关Oracle 11g R2的工作说明。事实证明,您可能需要同时安装32位和64位客户端才能在BIDS / Visual Studio / SSMS中正常工作。我可能安装了比所需数量更多的Oracle组件,但这对我有用:

  1. http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html下载32和64位客户端 (单击“查看全部”以查看不同版本,否则,您将下载完整的Oracle程序。每次下载应约为600兆)
  2. 在SQL Server上运行32位安装。选择“自定义”
  3. 对于Oracle Base,输入“ C:\ Oracle”
  4. 对于“软件位置”,更改为C:\ Oracle \ product \ 11.2.0 \ client_ 32
  5. 选择以下组件:
  6. SQL * Plus
  7. Oracle呼叫接口(OCI)
  8. 甲骨文网
  9. 适用于Microsoft Transaction Server的Oracle Services
  10. 适用于Windows的Oracle管理助手
  11. OLE DB的Oracle提供程序
  12. 适用于.NET的Oracle数据提供程序
  13. 适用于ASP.NET的Oracle提供程序
  14. 对64位安装程序重复上述步骤。但是,将“软件位置”更改为C:\ Oracle \ product \ 11.2.0 \ client_ 64
  15. 我此时遇到了一个内存错误,但是由于我知道有足够的内存,所以选择忽略它
  16. 忽略错误“ OracleMTSRecoveryService已经存在”

现在安装已完成,只需调整一些内容即可。

  1. 将注册表更改为HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
  2. OracleOciLib应该是oci.dll
  3. OracleSqlLib应该是orasql11.dll
  4. OracleXaLib应该是oraclient11.dll
  5. 相同的注册表更改到HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\ MSDTC \ MTXOCI
  6. 在C:\ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin中创建或复制新的tnsnames.ora
  7. 在C:\ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin中创建或复制新的tnsnames.ora
  8. 重启!
  9. 您现在应该在SSMS中的链接服务器\提供程序下看到OraOLEDB.Oracle作为提供程序
  10. 右键单击该提供程序,然后单击“属性”,然后在“允许进程内”框中打勾
  11. 您现在可以通过GUI或T-SQL创建链接服务器

祝好运!


1
我遇到了同样的问题(Sql Server 2008 R2 64x连接到Oracle 8),并按照您的说明进行了解决。幸运的是,我只需要安装64位客户端。谢谢!
santiiiii

我在没有SQL * Plus和Administration Assistant的情况下安装了它,并且没有在x64计算机上更改注册表,所以它可以正常工作。
加布里埃尔·吉马良斯

嗨,@ SomeGuy,我也可以在12c中使用您的指令吗?谢谢
Willie Cheng

注意下载大小-最新的Oracle Client for Windows x64版本19C为3.1GB。
迈克,

0

是的,系统架构有很大的不同。

您需要为Windows安装x64 Oracle客户端软件。


如果不下载整个2GB的x64客户端,我似乎无法在Oracle网站上找到11g的x64组件。ODAC似乎只增加了10g。还有其他人注意到吗?现在,我将尝试使用完整的客户端,但之前从未这样做。也许他们将来会发布面向x64的ODAC 11g。
SomeGuy 2010年

客户端约为615 MB,2GB软件包为完整产品;参见此处:oracle.com/technetwork/database/enterprise-edition/downloads/…
Massimo 2010年

2
@SomeGuy实际上是11g的ODAC,您找不到它,因为oracle网站是一团糟。
加百利·吉马良斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.