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

SSIS包部署至SSMS后运行报错:请求的OLE DB提供程序Microsoft.ACE.OLEDB.12.0未注册

针对SSIS包部署后ACE OLEDB驱动未注册问题的解决方案

我之前帮不少用户解决过这类64位系统搭配32位Office/SSIS环境的驱动冲突问题,你可以按以下步骤逐一排查:

  • 彻底清理并重新安装32位ACE驱动
    直接双击安装32位AccessDatabaseEngine.exe时,系统会因为检测到已安装的32位Office而阻止安装,这是很多人踩坑的点。你需要先卸载所有已安装的ACE驱动(包括32位和64位),然后打开32位命令提示符(路径:C:\Windows\SysWOW64\cmd.exe),切换到驱动安装包所在目录,执行以下命令静默安装:

    AccessDatabaseEngine.exe /passive
    

    这个参数会跳过Office版本检测,强制完成32位驱动的安装。

  • 确认SSIS目录的全局32位运行时设置
    只修改单个包的运行模式可能不够,SSIS目录的全局设置会覆盖包的局部配置:

    1. 在SSMS中连接到Integration Services实例
    2. 右键点击你的SSIS目录(通常是SSISDB),选择属性
    3. 在常规选项卡中,找到“32位运行时”选项,设置为True
    4. 点击确定保存设置
  • 检查SQL Server代理作业的运行时配置(如果通过代理执行)
    如果你是通过SQL Server代理作业来运行包,需要单独配置作业步骤:

    1. 打开对应的代理作业,进入作业步骤编辑界面
    2. 切换到执行选项选项卡
    3. 勾选“使用32位运行时”选项,保存修改
  • 验证32位ACE驱动是否正确注册
    打开32位命令提示符,执行以下命令注册驱动(注意路径需根据你的Office版本调整,OFFICE16对应Office 2016/365,OFFICE15对应2013):

    regsvr32 "C:\Program Files (x86)\Microsoft Office\root\vfs\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\ACEOLEDB.DLL"
    

    如果弹出“DllRegisterServer在ACEOLEDB.DLL succeeded”提示,说明注册成功。

  • 确认部署前Visual Studio的项目设置
    部署包前,先在Visual Studio中检查项目配置:

    1. 右键点击SSIS项目,选择属性
    2. 切换到调试选项卡
    3. 将“运行64位运行时”设置为False
    4. 重新部署包到SSMS

这些步骤覆盖了绝大多数64位系统下32位SSIS环境的驱动问题,你可以按顺序尝试,应该能解决你的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 09:58:10