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

Modified on: Wed, 03 Jul 2019 22:00:02 +0800

根据我们多年来一直使用Oracle和SQL Server早期版本的标准程序,我已经安装了Oracle最新的ODAC软件包,其中包括Oracle OLE驱动程序到我们新的SQL Server 2008 R2 x64节点上。我已完成推荐的系统重启,但OraOLEDB.Oracle未显示在SSMS中的Linked Servers \ Providers节点中。此安装与以前的SQL Server安装之间的唯一区别是我现在使用的是SQL Server x64(在Windows 2008 R2上)。这有什么不同吗?

请注意,我可以直接从SQL Server节点使用SQL * Plus连接到Oracle服务器。我唯一缺少的是提供者。谁知道我错过了什么?网络上有很多帖子,但似乎有很多混乱和过时链接到Oracle的下载页面。

我唯一需要做的就是为Oracle创建一个链接服务器,然后针对它运行select查询。我不需要通过Visual Studio做任何事情。

作者:,SomeGuy

最佳答案

经过数小时的研究,我设法凑齐了一些Oracle 11g R2的工作指令。事实证明,您可能需要安装32位和64位客户端才能在BIDS / Visual Studio / SSMS中运行。我可能安装了比我需要的更多Oracle组件,但这对我有用:

  1. http://下载32位和64位客户端www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html(点击“查看全部”查看不同的版本,否则,您将下载完整的Oracle程序。您的下载应该是每个约600兆)
  2. 在SQL Server上运行32位安装。选择“自定义”
  3. 对于Oracle Base,请输入“C:\ Oracle”
  4. 对于“软件位置”,请更改为C:\ Oracle \ product \ 11.2.0 \ client_ 32
  5. 选择以下组件:
  6. SQL *加
  7. Oracle Call Interface(OCI)
  8. Oracle Net
  9. Microsoft Transaction Server的Oracle服务
  10. 适用于Windows的Oracle Administration Assistant
  11. OLE DB的Oracle提供程序
  12. 适用于.NET的Oracle数据提供程序
  13. 适用于ASP.NET的Oracle提供程序
  14. 使用64位安装程序重复上述步骤。但是,将“软件位置”更改为C:\ Oracle \ product \ 11.2.0 \ client_ 64
  15. 此时我收到内存错误,但由于我知道有足够的
  16. ,所以选择忽略它
  17. 忽略错误“OracleMTSRecoveryService已存在”
  18. 醇>

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

    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 \ Microsoft \ MSDTC \ MTxOCI进行相同注册表更改
    6. 在C:\ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
    7. 中创建或复制新的tnsnames.ora
    8. 在C:\ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
    9. 中创建或复制新的tnsnames.ora
    10. 重新启动!
    11. 您现在应该看到OraOLEDB.Oracle是SSMS中Linked Servers \ Providers下的提供者
    12. 右键单击此提供程序,然后单击“属性”,然后勾选“允许进程”
    13. 您现在可以通过GUI或T-SQL
    14. 创建链接服务器 醇> 祝你好运!
作者:,SomeGuy

相关问答

添加新评论