161

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

它不是同一个版本,我认为需要其他一些补丁

4

11 回答 11

176

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

于 2017-03-02T20:02:06.107 回答
133

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

我有同样的问题并通过下载以下内容解决了它:

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

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

有用。

资源

于 2016-11-20T14:57:44.263 回答
30

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

于 2017-11-04T13:21:51.163 回答
21

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

1:直接打开sql server导入导出向导。

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

不要安装AccessDatabaseEngine(64bit),而是尝试使用AccessDatabaseEngine(32bit),在安装时,如果您已经安装了另一个应用程序,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

于 2020-03-19T08:04:33.070 回答
13

对我有用的另一种方法是简单地转换为 CSV。

于 2018-03-13T02:44:12.583 回答
4

ACE.oledb.16.0 在 64 位操作系统中不起作用

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

于 2016-11-02T00:59:19.420 回答
4

针对此处的其他答案,您可以在其他 64 位 Microsoft 程序旁边安装“ACEDB 驱动程序 64 位”。

就我而言,我安装了“Microsoft 365” 64 位(Microsoft Office 365)。

因为错误

'Microsoft.ACE.OLEDB.16.0' 提供程序未在本地计算机上注册。(系统.数据)

我尝试安装Microsoft Access Database Engine 2016 Redistributable。但是我遇到了 32 位和 64 位安装程序的错误。

64 位:

您无法安装 64 位版本的 Microsoft Access Database Engine 2016,因为您当前安装了 64 位 Office 产品。如果要安装 32 位 Microsoft Access Database Engine 2016,首先需要删除 Office 产品的 64 位安装。卸载以下产品后,重新运行安装程序以安装 32 位版本的 Microsoft Access Database Engine 2016: Office 16 Click-to-Run Extensibility Component 64-bit Registration

或 32 位:

您无法安装 32 位版本的 Microsoft Access Database Engine 2016,因为您当前安装了 64 位 Office 产品。如果要安装 32 位 Microsoft Access Database Engine 2016,首先需要删除 Office 产品的 64 位安装。卸载以下产品后,重新运行安装程序以安装 32 位版本的 Microsoft Access Database Engine 2016: Office 16 Click-to-Run Extensibility Component 64-bit Registration

我无法卸载单个组件:

在此处输入图像描述

步骤:

  1. 无需卸载和重新安装任何东西。

  2. 在Microsoft Access Database Engine 2016 Redistributable上按“下载”

在此处输入图像描述

  1. 选择AccessDatabaseEngine_X64.exe。无需安装 32-bit AccessDatabaseEngine.exe,针对其他答案。

在此处输入图像描述

  1. 从命令提示符运行可执行文件:

    C:\Users\myuser\Downloads>AccessDatabaseEngine_X64.exe /quiet
    
  2. 如果需要,请按 OK 以获得管理员权限。

在此之后,我的宏可以从 Excel 工作表中获取数据。我检查了 Microsoft 365 包的本地 Microsoft Access,它仍然有效。

学分转到您无法安装 32/64 位版本的 Microsoft Access 数据库引擎,因为您当前拥有 64/32 位 Office及其源代码,请参阅如何使用 Office 64 位安装 Microsoft.Ace.oledb 32 位?.

于 2021-09-18T20:57:43.483 回答
2

如果您有Office 365

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

不工作?

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

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

于 2021-07-26T20:48:14.253 回答
1

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

于 2017-11-26T12:39:51.497 回答
0

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

解决方法是转到控制面板-> 时钟和区域-> 将我的“英语(芬兰)”区域更改为纯芬兰语(芬兰)。其他更传统的文化,如 en-US 也将起作用。我想我首先在这里看到了这个解决方案:不支持修复文化:3072 通过更改区域格式

于 2021-02-18T10:13:51.507 回答
-1

按着这些次序:

  1. 转到[这里][1],下载Microsoft Access Database Engine 2016 Redistributable并安装
  2. 关闭 SQL Server 管理工作室
  3. 转到开始菜单 -> Microsoft SQL Server 2017 -> SQL Server 2017 导入和导出数据(64 位)
  4. 打开应用程序并尝试使用“Excel 2016”选项导入数据,它应该可以正常工作。
于 2020-08-02T14:36:35.800 回答