You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server Agent执行SSIS包失败:Microsoft.ACE.OLEDB.12.0未注册

解决SQL Server Agent调度SSIS包时ACE OLEDB驱动未注册的问题

1. 调整SQL Server Agent服务账户权限

SQL Server Agent默认使用Local System账户,该账户可能无法访问ACE驱动的注册表项或安装目录。需将服务账户替换为具备本地管理员权限的账户:

  • 打开服务管理器(services.msc)
  • 找到SQL Server Agent (MSSQLSERVER)服务,右键选择「属性」
  • 切换至「登录」选项卡,选择「此账户」,输入拥有本地管理员权限的账户信息
  • 重启SQL Server Agent服务

2. 修复Office与ACE驱动的位数冲突

Office与ACE驱动必须保持位数一致,混合安装会导致注册表项混乱:

  • 先卸载所有版本的AccessDatabaseEngine(32位和64位)
  • 卸载Office 2019,重新安装与系统位数匹配的Office版本(如64位系统装64位Office)
  • 安装对应位数的AccessDatabaseEngine(64位系统用AccessDatabaseEngine_x64.exe,32位用AccessDatabaseEngine.exe)
  • 若需保留32位Office但使用64位ACE驱动,需用静默安装命令绕过位数检测:
    AccessDatabaseEngine_x64.exe /quiet
    

3. 配置SSIS作业的运行位数

针对SSIS作业步骤调整运行位数:

  • 打开SQL Server Agent作业,编辑对应的SSIS步骤
  • 切换至「配置」选项卡,勾选「使用32位运行时」(适用于32位导入向导创建的包、或Office/ACE为32位的场景)
  • 保存配置后重新执行作业

4. 手动注册ACE驱动

若驱动安装后仍未自动注册,手动执行注册命令:

  • 64位系统注册64位DLL(以管理员身份运行CMD):
    regsvr32 "C:\Program Files\Microsoft Office\root\Office16\ACEOLEDB.DLL"
    
  • 32位系统或注册32位DLL(以管理员身份运行32位CMD):
    C:\Windows\SysWOW64\regsvr32 "C:\Program Files (x86)\Microsoft Office\root\Office16\ACEOLEDB.DLL"
    

5. 验证SSIS包连接配置

  • 打开SSIS包的Excel连接管理器,确认连接字符串的Provider为Microsoft.ACE.OLEDB.12.0,Extended Properties设置正确(例如Excel 12.0 Xml;HDR=YES;)
  • 确保Excel文件使用绝对路径,且SQL Server Agent账户拥有该文件的读取权限

内容的提问来源于stack exchange,提问作者Daniel Wong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 12:45:36