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

SSIS部署至SQL Server后无法连接DB2:ERROR [IM004]错误求助

问题排查与解决方案

1. 确认目标服务器安装匹配的32位IBM DB2 ODBC驱动

  • 目标服务器必须安装版本11.01.00.1527的32位IBM DB2 ODBC驱动(因包以32位模式运行),开发机驱动无法直接复用,需在目标服务器单独部署。
  • 验证方法:运行%windir%\SysWOW64\odbcad32.exe打开32位ODBC数据源管理器,查看驱动列表中是否存在对应版本的IBM DB2驱动。

2. 检查目标服务器上的DSN配置有效性

  • 在32位ODBC数据源管理器中,找到或创建<Dsn-name>对应的系统DSN(优先系统DSN,避免用户权限限制):
    • 点击“测试连接”,确认能正常连接到DB2数据库,排除账号、数据库地址等基础配置错误。
    • 若使用用户DSN,需确保执行SSIS包的账号能访问该DSN。

3. 验证执行账号的权限

  • SSIS包在SQL Server上运行时,执行账号(SQL Server Agent服务账号或代理账号)需满足:
    • 对IBM DB2 ODBC驱动的安装目录(例:C:\Program Files (x86)\IBM\IBM DATA SERVER DRIVER)有读取权限。
    • 能访问DB2数据库的网络端口(默认50000),可通过telnet <DB2服务器IP> 50000测试连通性。

4. 确认密码参数传递正确

  • 当前连接字符串仅包含Dsn=<Dsn-name>;uid=<Username>,密码通过项目参数传入,需:
    • 在SQL Server Integration Services目录中,验证项目参数的密码值是否正确配置。
    • 可临时修改连接字符串为Dsn=<Dsn-name>;uid=<Username>;pwd=<密码>测试,排除参数传递问题后再改回参数方式。

5. 检查DB2相关环境变量

  • IBM DB2 ODBC驱动依赖DB2HOME、DB2INSTANCE等环境变量,需在目标服务器的系统变量中配置:
    • DB2HOME:设为驱动安装根目录(如C:\Program Files (x86)\IBM\IBM DATA SERVER DRIVER)
    • DB2INSTANCE:设为对应的DB2实例名
  • 配置后需重启SQL Server Agent服务,确保环境变量生效。

6. 确认32位运行模式配置正确

  • 若通过SQL Server Agent执行包,需在作业步骤的“执行选项”中勾选使用32位运行时。
  • 若直接通过SSIS目录执行包,需在执行配置中指定32位运行环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 18:05:12