Sql server SQL Server 2012与Oracle的连接

Sql server SQL Server 2012与Oracle的连接,sql-server,oracle,ssis,Sql Server,Oracle,Ssis,我正在尝试将数据从Oracle复制到SQL Server 2012,当选择数据源作为Microsoft OLE DB Provider for Oracle时,我收到以下消息: 由于初始化提供程序时出错,测试连接失败。 找不到Oracle客户端和网络组件。这些组件 由Oracle Corporation提供,是Oracle版本的一部分 7.3.3或更高版本的客户端软件安装 我尝试使用.NET Framework Data Provider for Oracle,我得到: 尝试加载Oracle客户

我正在尝试将数据从Oracle复制到SQL Server 2012,当选择数据源作为Microsoft OLE DB Provider for Oracle时,我收到以下消息:

由于初始化提供程序时出错,测试连接失败。 找不到Oracle客户端和网络组件。这些组件 由Oracle Corporation提供,是Oracle版本的一部分 7.3.3或更高版本的客户端软件安装

我尝试使用.NET Framework Data Provider for Oracle,我得到:

尝试加载Oracle客户端库引发了BadImageFormatException。 在64位模式和32位模式下运行时会出现此问题 已安装Oracle客户端组件(system.data.oracleclient)

在SQL Server 2000(我正试图将其迁移到SQL Server 2012/2014)中,我可以直接选择OraClienthome中的Oracle

一些可能有助于诊断问题的附加信息:

  • 使用Toad 64位,它指向64位Oracle下载;但是,我无法判断它使用的是32位驱动程序还是64位驱动程序。我还可以毫无疑问地运行查询等

  • ODBC,我可以在OraClienthome中创建名为Oracle的32位(我猜是这样)ODBC连接时看到Oracle,但在SysWOW64 ODBC连接中看不到

  • 我在运行64位SQL server 2012的服务器上成功建立了链接服务器连接。OraOLEDB.oracle显示在服务器对象下 链接服务器 提供者

  • 创建SSIS包时,我无法建立到Oracle的连接

  • 我可以在MS Access和Excel中成功运行查询

  • (新增)我可以使用64位导入导出数据复制文件,但不能使用32位


  • 任何帮助都将不胜感激

    尝试在MS站点上安装和使用Oracle客户端,并使用SSI传输数据。 我也遇到了同样的问题,但当我使用oracle客户端连接时(您将在连接选择选项中看到),一切都正常


    祝你好运

    在许多情况下,64位驱动程序不兼容,您必须安装32位驱动程序,然后确保在创建作业以运行作为最后一个复选框的命令选项中的软件包时,选择使用32位驱动程序。我还使用toad从桌面上的oracle中提取数据,它与64位驱动程序配合良好,但在我们的新服务器上,我必须安装32位驱动程序,尽管我能够使用connection manager创建odbc连接。我还必须在instal安装后重新启动win服务器,才能让它运行

    我确实安装了64位和32位驱动程序。我在ODBC连接器中看到32位驱动程序,服务器看到64位驱动程序。是否尝试运行作业,强制使用步骤的“执行”选项卡上的32位运行时?由于SSIS没有看到32位驱动程序,因此失败。