SSIS导入Excel文件报错求助:Microsoft.ACE.OLEDB.16.0未注册
解决SSIS导入Excel时Microsoft.ACE.OLEDB.16.0未注册的问题
以下是针对你的环境(64位Windows、64位Excel2016、VS2019)的可行解决方案:
安装与Excel版本匹配的ACE驱动
你当前安装的是2010版ACE驱动,与Excel2016不匹配,需安装Microsoft Access Database Engine 2016 Redistributable:- 若系统已安装32位Office组件,需以静默模式安装64位驱动,打开管理员命令提示符执行:
AccessDatabaseEngine_X64.exe /quiet - 若为纯64位Office环境,直接安装对应64位驱动即可,避免混装不同版本的ACE驱动。
- 若系统已安装32位Office组件,需以静默模式安装64位驱动,打开管理员命令提示符执行:
精准调整SSIS项目运行模式与连接配置
- 右键SSIS项目 → 属性 → 配置属性 → 调试,将
Run64BitRuntime设置为True(对应64位ACE驱动)或False(对应32位驱动) - 检查Excel连接管理器:确保Provider选择
Microsoft.ACE.OLEDB.16.0,而非旧版本驱动。
- 右键SSIS项目 → 属性 → 配置属性 → 调试,将
手动注册ACE驱动组件
打开管理员权限的命令提示符,根据驱动位数执行注册命令:- 64位驱动:
regsvr32 "C:\Program Files\Microsoft Office\Root\VFS\System64\ACEOLEDB.DLL" - 32位驱动:
regsvr32 "C:\Program Files (x86)\Microsoft Office\Root\VFS\System32\ACEOLEDB.DLL"
若路径不匹配,找到ACE驱动安装目录下的ACEOLEDB.DLL文件后再执行注册。
- 64位驱动:
使用SQL Server导入导出向导临时替代
打开SQL Server Management Studio,右键目标数据库 → 任务 → 导入数据,启动向导:- 数据源选择「Microsoft Excel」,版本指定「Excel 2016」,选择目标Excel文件后按向导步骤完成导入,该方式可绕过部分SSIS项目的驱动兼容性问题。
清理冗余驱动并配置环境变量
- 卸载所有非2016版的ACE驱动,仅保留与Excel2016匹配的版本
- 将ACE驱动安装目录(64位:
C:\Program Files\Microsoft Office\Root\Office16;32位:C:\Program Files (x86)\Microsoft Office\Root\Office16)添加到系统PATH环境变量中。
内容的提问来源于stack exchange,提问作者PJD
相关产品推荐
相关产品推荐

