“Microsoft.ACE.OLEDB.15.0”提供程序未在本地计算机上注册。(System.Data) 尝试将 Excel 2013 文件导入 SSMS 18 时

RyM*_*RyM 5 sql-server excel ssms

尝试将 excel 文件导入数据库时​​,我在 SSMS 18 中收到错误:

操作无法完成。

附加信息:

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

当在谷歌上搜索解决方案时,每个人似乎都有冲突的版本(64 与 32),但我使用的所有东西都是 64 位的。

系统详细信息:

  • Windows 10 x64 位
  • Microsoft SQL Server Management Studio 18(标准版(64 位))
  • 微软 Excel 2013 64 位

在此输入图像描述

Yit*_*sky 12

要检查计算机上安装了哪些 64 位 ACE 提供程序,只需在 SSMS 中执行以下命令:

T-SQL

EXEC master.sys.sp_MSset_oledb_prop;
Run Code Online (Sandbox Code Playgroud)

您可以在下面看到它的屏幕截图。

总体而言,ACE 有 3 个现有版本:12.0、15.0 和 16.0 您可以将误导性的 Excel 版本:下拉列表更改为其中之一,即更改为安装的任何版本。

如果您需要安装任何 ACE 提供程序:

在此输入图像描述

更新

要更新 ACE 属性,请发出以下命令:

USE [master] 
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1 
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DisallowAdHocAccess', 0
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.16.0', N'AllowInProcess', 1 
GO 
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.16.0', N'DynamicParameters', 1 
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.16.0', N'DisallowAdHocAccess', 0
GO
Run Code Online (Sandbox Code Playgroud)