'Microsoft.ACE.OLEDB.16.0'提供程序未在本地计算机上注册。 (System.Data)

时间:2016-11-01 13:20:49

标签: sql-server excel ssis oledb aceoledb

当我尝试通过MSSQL Server数据导入连接到任何Excel时出现此错误,即SSIS包Microsoft.ACE.OLEDB.16.0提供程序未在本地计算机上注册。 (System.Data

这与我认为需要其他修补的版本不同

10 个答案:

答案 0 :(得分:94)

注意:我正在运行SQL 2016 Developer 64位,Office 2016 64位。

我遇到了同样的问题,并通过下载以下内容解决了这个问题:

  1. 下载并安装: https://www.microsoft.com/en-us/download/details.aspx?id=54920

  2. 无论您尝试访问/导入哪个文件,请确保将其选为Office 2010文件(即使它可能是Office 2016文件)。

  3. 有效。

    Source

答案 1 :(得分:42)

对于在尝试上述操作后仍然坚持这个问题的任何人。如果您右键单击数据库并转到tasks-> import,那么这就是问题所在。转到开始菜单,在sql server下,找到x64位导入导出向导并尝试。对我来说就像一个魅力,但是我花了很长时间才找到微软!

答案 2 :(得分:10)

如果您具有OS(64位)和SSMS(64位)并且已经安装了 AccessDatabaseEngine(64位),并且仍然收到错误,请尝试以下解决方案:

1:直接打开sql服务器导入和导出向导。

如果您能够使用直接SQL Server导入和导出向导进行连接,那么从SSMS导入就是问题所在,就像从SSMS导入数据时激活32位一样。

尝试安装 AccessDatabaseEngine(32bit),而不是安装 AccessDatabaseEngine(64bit),如果已安装Windows,它将阻止您继续安装安装了应用程序(如果已安装),请使用以下步骤。这来自 MICROSOFT 。安静的安装。

如果已经安装了Office 365,并排检测将阻止安装继续进行。而是从命令行执行/ quiet安装这些组件。这样做,将所需的AccessDatabaseEngine.exe或AccessDatabaeEngine_x64.exe下载到您的PC,打开管理命令提示符,并提供安装路径并切换Ex:C:\ Files \ AccessDatabaseEngine.exe / quiet

或通过下面的链接

签入附加信息内容

https://www.microsoft.com/en-us/download/details.aspx?id=54920

答案 3 :(得分:6)

作为一种快速解决方法,我将工作簿保存为Excel 97-2003 .xls文件。我能够以该格式导入而没有错误。

答案 4 :(得分:4)

ACE.oledb.16.0不能在64位操作系统中工作

从中下载补丁 https://www.microsoft.com/en-us/download/details.aspx?id=13255

答案 5 :(得分:3)

对我有用的替代方法是简单地转换为CSV。

答案 6 :(得分:1)

您现在必须使用Access-Redist(32/64-Bit)中的新 XLSX -Driver。 自上次累积更新以来,当前的XLS驱动程序已损坏。

答案 7 :(得分:0)

在安装了 Microsoft Access Database Engine 2016 Redistributable 并按照上述答案中的说明找到了 x64 位导入导出向导后,我还有最后一环要跳通过。我收到此错误“执行查询“CREATE TABLE ....”失败并出现以下错误:“不支持文化 ... 3072 (0x0c00) 是无效的文化标识符< /strong>."'

修复方法是转到控制面板 -> 时钟和区域 -> 将我的“英语(芬兰)”区域更改为纯芬兰语(芬兰)。其他更传统的文化,如 en-US 也将起作用。我想我第一次在这里看到了这个解决方案:Fix culture is not supported: 3072 by changing Region Formats

答案 8 :(得分:0)

如果您有 Office 365

  1. 下载 32 位版本 here
  2. 以管理员身份运行命令提示符 --> C:\Downloads\AccessDatabaseEngine.exe /quiet
  3. 关闭 SSMS 并重新打开,再次尝试导入文件。

不起作用?

  1. 下载 64 位版本 here
  2. 以管理员身份运行命令提示符 --> C:\Downloads\AccessDatabaseEngine_X64.exe /quiet
  3. 关闭 SSMS 并重新打开、导入文件。

注意: 例如,下载可执行文件的路径可能是“C:\Downloads\User\USERNAME\Downloads\AccessDatabaseEngine.exe”

答案 9 :(得分:-1)

请按照以下步骤操作:

  1. 转到[这里] [1],下载Microsoft Access Database Engine 2016 Redistributable并安装
  2. 关闭SQL Server Management Studio
  3. 转到“开始”菜单-> Microsoft SQL Server 2017-> SQL Server 2017导入和导出数据(64位)
  4. 打开应用程序,然后尝试使用“ Excel 2016”选项导入数据,它应该可以正常工作。