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

4ktjp1zp  于 2022-12-17  发布在  其他
关注(0)|答案(3)|浏览(609)

我有一个SQL Server示例2019 64位和Microsoft Office 2019 64位。
当我想用SSMS从Excel文件“导入数据”时,我遇到了以下错误,具体取决于Excel版本:

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

我尝试安装:

  • Microsoft Access数据库引擎2010可再分发
  • Microsoft Access数据库引擎2016可再分发

不过,在SSMS中,我可以看到2个提供商:12.0和16.0,但没有任何工作。
我已经搜索了很长时间的解决方案,但一无所获。此主题的解决方案不起作用:'Microsoft.ACE.OLEDB.16.0' provider is not registered on the local machine. (System.Data)
Windows 10 64位版本:20H2
SQL Server示例版本:Microsoft SQL Server 2019(RTM-GDR)(KB 4583458)- 15.0.2080.9(X64)2020年11月6日16:50:01版权所有(C)2019微软公司开发者版(64位),基于Windows 10专业版10.0(内部版本号19042:)

qybjjes1

qybjjes11#

如果使用Office版本64位
在开始中搜索关于“SQL Server 2019导入和导出数据(64位)”
而我们呢

v1uwarro

v1uwarro2#

SSMS导入选项是32位执行选项,意味着它作为32位应用程序运行。针对您的情况建议的解决方案是:
1-使用64位版本的SSMS导入/导出数据向导。
2-请删除64位Office并安装32位版本(如果可用),如果没有,则不安装Office,而安装Access数据库引擎x86版本。然后,您可以使用SSMS中的导入向导。
3-使用Windows 32位版本的虚拟机,但此时您将不得不使用更旧版本的ssms(据我测试,即使版本16.x.x也不起作用,因此我不得不从此link安装sql服务器管理集),其名称为SQLManagementStudio_x86_ENU.exe。
这是我的经验引导我找到的3个可用解决方案。

8i9zcol2

8i9zcol23#

对于那些像我一样为32和64版本的Mssql和Office而挣扎的人来说,我发现将xls保存为csv然后 * 任务〉导入平面文件〉选择.csv* 更容易

我遇到的唯一问题是关于列类型,我必须手动设置。不过还是比较容易...

相关问题