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

SSIS问题:无法以32位模式提交包

我之前也碰到过几乎一模一样的问题,SQL Server 2014的SSISDB在调用32位ODBC驱动时确实有几个容易踩的坑,结合我当时的排查经验,给你几个方向试试:

排查步骤和解决方案

1. 确认服务器上32位ODBC驱动的安装与配置

  • 登录SQL Server 2014服务器,打开32位ODBC数据源管理器(别搞错成默认的64位版本,路径是C:\Windows\SysWOW64\odbcad32.exe)
  • 检查你连接遗留系统的数据源是否在「用户DSN」或「系统DSN」中存在,并且点击「测试连接」能成功。很多人会误操作打开64位管理器,导致配置的数据源根本不被32位SSIS识别。

2. 检查注册表项与执行账户权限

  • 针对帖子提到的注册表项,重点查看HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC路径下,对应你使用的驱动的键值是否完整存在。
  • SSIS在SSISDB中运行时,使用的是SQL Server代理服务账户(或你手动指定的执行账户),要确保这个账户对上述注册表路径有读取权限。我当时就是卡在这一步——代理账户权限不足,读不到32位ODBC的配置信息,导致包执行失败。

3. 验证SSIS执行环境的32位运行设置

  • 除了在配置选项的高级标签勾选「以32位运行」,如果是通过SQL Server代理作业执行包,还要确认作业步骤的「运行选项」里也勾选了「使用32位运行时」——这里很容易漏选,导致设置不生效。
  • 如果是直接在SSMS里执行包,除了高级标签的设置,还要检查执行窗口的「运行时」选项是否明确指定为32位。

4. 排查包的数据源配置细节

  • 确保SSIS包中的数据源是使用DSN名称配置(而非硬编码连接字符串),如果是直接写连接字符串,要确认字符串里指定的是32位版本的驱动。
  • 可以尝试在服务器上用32位的dtExec.exe手动执行包,获取更详细的错误日志。路径是C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\dtExec.exe,执行命令类似:dtExec.exe /F "你的包路径.dtsx" /Conf "配置文件.dtsConfig",这样的日志会比SSISDB里的提示更具体,能帮你快速定位是驱动找不到还是权限问题。

额外提醒

SQL Server 2014的SSIS对32位驱动的兼容性确实不如Visual Studio调试环境,核心问题大多出在运行环境的权限隔离和配置识别上,按上面的步骤逐一排查,大概率能解决问题。我当时就是调整了代理账户的注册表权限和32位ODBC的配置后,包就正常运行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:24:07