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

SSIS中PostgreSQL ODBC连接器无法返回输入列问题求助

解决SSIS ODBC源组件无法加载列菜单的问题

问题概况

  • 环境:PostgreSQL 15.0、SSIS 2022、psqlodbc_15_00_0000-x64(含32位版本)、AWS Linux EC2服务器
  • 现象:ODBC源组件可查看PostgreSQL表、预览数据,但点击列菜单无内容返回,无法保存数据源
  • 补充:ADO.NET连接正常但速度极慢;此前同服务器MySQL数据库出现同类问题,怀疑目录相关

可行解决方案

1. 修正ODBC驱动的架构映射配置

PostgreSQL ODBC驱动默认可能无法正确识别表所在架构,尤其是表不在public架构下时:

  • 打开ODBC数据源管理器,找到对应PostgreSQL DSN进入配置页
  • 在Connection标签手动填写Default Schema为表所在架构(如public)
  • 切换到Advanced标签,取消勾选Use Declare/Fetch和Use Server Side Prepare选项(部分驱动版本这两个设置会导致元数据加载异常)
  • 保存配置后重启SSIS设计器测试

2. 用SQL命令替代可视化列选择

绕过列菜单加载问题,直接在ODBC源组件的SQL命令模式下编写查询语句:

SELECT column1, column2, column3 FROM your_schema.your_table;

点击解析确认语句有效后,即可保存数据源并正常配置列映射。

3. 匹配SSIS运行模式与驱动位数

SSIS设计器默认运行模式可能与驱动位数不兼容:

  • 打开项目属性的Debugging选项卡
  • 将Run64BitRuntime设为True(对应64位驱动)或False(对应32位驱动)
  • 重启SSIS设计器后重新测试

4. 赋予数据库用户系统表读取权限

确保ODBC连接用户能读取PostgreSQL系统表,否则无法加载列元数据:

GRANT USAGE ON SCHEMA information_schema TO your_db_user;
GRANT SELECT ON ALL TABLES IN SCHEMA information_schema TO your_db_user;
GRANT USAGE ON SCHEMA pg_catalog TO your_db_user;
GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO your_db_user;

执行权限赋予后重新连接测试。

5. 更换稳定版ODBC驱动

尝试降级驱动版本,比如使用psqlodbc_14.x系列(PostgreSQL 15兼容14版驱动),避免使用最新测试版。安装时严格匹配SSIS运行模式的位数(32/64位)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:14:55