“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册“将xlsx导入到sql server时出错

我有一个64位的Windows 7和SQLServer 2008 R2(64位)

我按照这里的说明将excel文件导入到sql server中,但是在图3中,当我尝试访问excel文件时,当我点击下一个错误时,使我停下来:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine 

我在网上search,我知道我必须安装AccessDatabaseEngine_x64 。 但是当我安装它,我有一个相同的问题

你能帮我做些什么吗?

该文件可以在Excel 2007中制作,尝试安装:

2007 Office System驱动程序:数据连接组件

AccessDatabaseEngine.exe(25.3 MB)

此下载将安装一组便于在现有Microsoft Office文件(如Microsoft Office Access 2007(* .mdb和.accdb)文件和Microsoft Office Excel 2007( .xls,*。 xlsx和* 之间传输数据的组件。 xlsb)文件到其他数据源,如Microsoft SQL Server

Excel 2010驱动程序是64位,而默认的SSMS导入导出向导是32,因此是错误消息。

您可以使用导入导出数据(64位)工具导入。 (“C:\ Program Files \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe”)注意该path不是Program Files x86。

这是解决这个问题的唯一安装。

SQL 2008 r2 w / office 2010 64bit: “2007 Office System Driver:Data Connectivity Components”

将其另存为CSV文件并将其作为平面源文件导入。