SSIS从Excel .xlsx加载数据而不安装32位驱动程序

时间:2017-07-21 17:57:12

标签: ssis-2012

我需要将扩展​​名为.xlsx的excel中的数据加载到Netezza表中。我得到以下错误。 请求的OLE DB提供程序Microsoft.ACE.OLEDB.12.0未注册。如果未安装32位驱动程序,请以64位模式运行该程序包。

有没有办法在不安装32位驱动程序的情况下使用扩展名为.xlsx的excel?

1 个答案:

答案 0 :(得分:0)

将项目属性 Run64BitRuntime 更改为 True

enter image description here

更多信息可以在Microsoft的文章中找到 - 64 bit Considerations for Integration Services

  

当您以64位模式运行程序包时,可能无法执行此操作   在运行程序包时,可以连接到尽可能多的数据源   32位模式。一些.NET Framework数据提供程序和本机OLE DB   提供程序可能无法在64位版本中使用。例如,   用于Jet的Microsoft OLE DB提供程序,它连接到Access数据库   和Excel电子表格,在64位版本中不可用。也,   SQL Server Compact Provider,连接到SQL Server Compact   数据源在64位版本中不可用。

     
    

ACE     Provider和它的Excel 2010驱动程序(64位,32位)可以一起使用     在某些情况下集成服务。欲获得更多信息     要下载提供商,请参阅Microsoft Access Database Engine 2010 Redistributable

  
     

32位SSIS设计器仅显示32位   安装在本地计算机上的提供程序。配置一个   连接管理器要使用特定的64位提供程序,必须安装   开发计算机上的32位版本的提供程序供使用   在设计时。即使32位版本的提供程序是   安装后,你仍然可以在64位模式下运行包   开发环境和部署后。 32位和64位   提供者的版本具有相同的ID。因此,SSIS运行时   将选择要使用的适当版本的提供程序。对于   例如,您在开发环境中运行包   64位电脑。默认情况下,程序包使用64位版本   提供程序,因为 Run64BitRuntime 项目的默认值   属性 True