SQL Server 2019:“Microsoft.ACE.OLEDB.16.0”提供程序未在本地计算机上注册。(系统.数据)

Dav*_*ier 6 sql-server provider excel

我有一个 SQL Server 实例 2019 64 位和 Microsoft Office 2019 64 位。

当我想使用 SSMS 从 Excel 文件“导入数据”时,根据 Excel 版本,出现以下错误:

  • SQL Server 2019:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。(系统.数据)
  • SQL Server 2019:“Microsoft.ACE.OLEDB.16.0”提供程序未在本地计算机上注册。(系统.数据)

我尝试安装:

  • Microsoft Access 数据库引擎 2010 可再发行组件
  • Microsoft Access 数据库引擎 2016 可再发行版

虽然在 SSMS 中,我可以看到 2 个提供程序:Microsoft.ACE.OLEDB.12.0 和 Microsoft.ACE.OLEDB.16.0 但没有任何效果。

我已经寻找了很长时间的解决方案,但一无所获。此主题的解决方案不起作用:“Microsoft.ACE.OLEDB.16.0”提供程序未在本地计算机上注册。(系统.数据)

Windows 10 64 位版本:20H2

SQL Server 实例版本:Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) 2020 年 11 月 6 日 16:50:01 版权所有 (C) 2019 Microsoft Corporation Developer Edition(64 位),适用于 Windows 10 Pro 10.0(内部版本 19042:)

Moh*_*oud 0

SSMS导入选项是32位执行选项,意味着它作为32位应用程序运行。针对您的情况建议的解决方案是:

1- 使用 SSMS 中的导入/导出数据向导的 64 位版本。

2-删除 64 位 Office 并安装 32 位版本(如果可用),如果没有,则不要安装 Office 并安装 Access 数据库引擎 x86 版本。然后您可以使用 SSMS 内的导入向导。

3-使用Windows 32位版本的虚拟机,但那时你将不得不使用更旧版本的ssms(据我测试,即使版本16.xx也没有工作,所以我不得不安装sql server管理集此链接)它的名称是 SQLManagementStudio_x86_ENU.exe 。

这些是我的经验引导我采用的 3 个可用解决方案。