SSIS包部署后SQL Agent执行报错:PostgreSQL ODBC连接失败
解决SSIS包部署后SQL Agent执行ODBC连接失败的建议
检查SQL Agent服务账户的权限与ODBC驱动
SQL Agent以自身服务账户运行,和Visual Studio使用的本地账户环境完全独立。需确认:- SQL Agent服务账户是否能通过防火墙/网络策略访问PostgreSQL服务器
- 对应位数的ODBC驱动是否在服务账户的环境中配置:32位驱动用
C:\Windows\SysWOW64\odbcad32.exe配置DSN,64位驱动用C:\Windows\System32\odbcad32.exe,且配置的DSN需和SSIS包中使用的完全一致
改用无DSN的连接字符串
避免依赖DSN的环境差异,直接在SSIS连接管理器中使用无DSN的连接字符串,示例格式:Driver={PostgreSQL Unicode(x64)};Server=你的服务器地址;Port=5432;Database=目标库名;Uid=数据库账号;Pwd=密码;验证PostgreSQL的访问控制
检查PostgreSQL服务器的pg_hba.conf文件,确认是否允许SQL Agent服务账户的IP/机器名访问;同时确认数据库账号拥有连接目标库、写入目标表的权限获取详细错误日志
在SSIS包属性中启用日志记录(可选择写入SQL Server或本地文件),或查看SQL Agent作业的完整执行日志,获取更具体的错误细节(如认证失败、驱动缺失、网络超时等),缩小排查范围确认SSIS执行环境一致性
检查SQL Agent作业步骤的SSIS执行选项,确保32位运行时的设置与ODBC驱动位数匹配;同时确认服务器上安装的SSIS版本与包的目标版本完全一致
内容的提问来源于stack exchange,提问作者Vicky
相关产品推荐
相关产品推荐

