2017-07-21 25 views
0

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

有什么办法可以在不安装32位驱动的情况下使用.xlsx扩展的excel?

回答

0

更改项目属性Run64BitRuntimeTrue

enter image description here

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

当您运行在64位模式下的包,你可能不能够 连接到多个数据源,你可以当你在 32位模式下运行包。某些.NET Framework数据提供程序和本机OLE DB提供程序可能不适用于64位版本。例如,连接到Access数据库 和Excel电子表格的 Microsoft OLE DB Provider for Jet,在64位版本中不可用。此外, 连接到SQL Server Compact 数据源的SQL Server Compact Provider在64位版本中不可用。

的ACE 提供商和其Excel 2010中驱动器(64位,32位)可以与 集成服务在某些情况下使用。欲了解更多信息 并下载供应商,请参阅Microsoft Access Database Engine 2010 Redistributable

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

+0

谢谢您的回应。我试过这个。我很想知道是否有其他方法可以做到这一点。 – Mamta

+0

这听起来像你没有安装32位或64位驱动程序?为了从xlsx文件读取数据,是的,你需要一个驱动程序。我已经链接到我的答案中的驱动程序下载。 –

相关问题