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

求助:SSIS连接Excel时32位与64位运行环境冲突问题解决方案

解决SSIS与SQL存储过程调用Excel时的32/64位驱动冲突问题

这个冲突问题其实很常见,不用纠结“不能同时装32位和64位驱动”的误区,下面几个方案都能帮你解决:

方案1:调整SSIS项目的运行位数(最简便)

你完全可以同时保留32位和64位驱动,只需要让SSIS在32位模式下运行,而SQL Server继续用64位:

  • 打开你的SSIS项目,右键点击项目名称,选择属性
  • 在属性窗口的调试选项卡里,找到Run64BitRuntime这个设置,把它改成False
  • 这样SSIS设计和运行时都会调用32位驱动,而SQL Server(包括存储过程)默认用64位驱动运行,两者互不干扰

方案2:给SQL Server代理作业配置32位运行时(如果SP通过代理执行)

如果你的存储过程是通过SQL Server代理作业触发的,反而需要32位驱动的话,可以单独给作业设置:

  • 打开SQL Server代理,找到对应的作业,右键选属性
  • 切换到步骤选项卡,选中要修改的作业步骤,点击编辑
  • 转到高级选项卡,勾选使用32位运行时(这个选项只有64位SQL Server才会显示)
  • 这样作业会以32位模式运行,调用32位驱动,而SSIS项目如果需要64位,把Run64BitRuntime设为True即可

方案3:正确共存32位和64位Excel驱动

很多人不知道,32位和64位的Microsoft Access Database Engine(Excel驱动的官方名称)是可以共存的,只是安装顺序和方式要注意:

  1. 先下载32位的安装包,用静默安装的方式运行:
    AccessDatabaseEngine.exe /quiet
    
  2. 再下载64位的安装包,同样用静默安装:
    AccessDatabaseEngine_X64.exe /quiet
    
    这样安装后,系统里会同时存在两个版本的驱动,SSIS和SQL Server会根据各自的运行位数自动调用对应的驱动

额外注意点

  • 确保驱动版本和你的Office版本匹配(比如Office 2019就用对应版本的Access Database Engine)
  • Visual Studio的SSIS设计环境默认是32位的,所以设计阶段必须有32位驱动才能识别Excel文件
  • 如果你的SQL Server是32位的,那存储过程只能用32位驱动,这时候SSIS也保持32位运行即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 06:38:16