SSMS使用64位导入导出向导导入Excel报Microsoft.ACE.OLEDB.12.0错误如何解决
SSMS导入Excel报
Microsoft.ACE.OLEDB.12.0未注册的可行解决办法 - 第一步:清理冲突驱动版本
打开控制面板-程序和功能,卸载所有名称带Microsoft Access Database Engine的程序,微软官方不允许32位和64位ACE驱动同时存在,多版本共存会直接导致驱动识别异常。 - 第二步:匹配驱动位数与运行入口
SSMS 18.9本身属于32位程序,默认调用的导入导出向导也是32位版本,需按你的使用场景选择对应方案:- 场景1:习惯直接从SSMS界面启动导入导出向导
卸载现有驱动后安装32位版本的Microsoft Access Database Engine 2016 Redistributable即可,该版本和64位Microsoft 365的兼容性适配表现更稳定,不建议选择2019及以上版本。 - 场景2:必须使用64位ACE驱动
不要从SSMS界面启动导入导出向导,直接手动打开64位向导的可执行文件,路径为C:\Program Files\Microsoft SQL Server\150\DTS\Binn\DTSWizard.exe,注意要选Program Files目录下的路径,而非Program Files (x86)下的32位版本。
- 场景1:习惯直接从SSMS界面启动导入导出向导
- 第三步:SSIS项目运行适配设置
从Visual Studio的SSIS项目中运行向导前,先打开项目属性页,进入配置属性-调试栏,将Run64BitRuntime选项设置为True,再执行导入操作即可调用64位ACE驱动,该选项默认值为False,会强制使用32位运行时。 - 第四步:驱动安装报错的特殊处理
如果安装ACE驱动时提示“已安装其他位数的Office组件,无法安装当前版本”,可以用静默安装参数跳过检测:- 下载对应位数的ACE驱动安装包到本地文件夹
- 打开命令提示符,进入安装包所在目录
- 执行对应静默安装命令:
- 32位驱动:
AccessDatabaseEngine.exe /quiet - 64位驱动:
AccessDatabaseEngine_64.exe /quiet
- 32位驱动:
- 安装完成后重启电脑再测试导入操作
内容的提问来源于stack exchange,提问作者TeleJim
相关产品推荐
相关产品推荐

