从SSIS OLE DB命令

时间:2018-08-23 12:00:05

标签: postgresql ssis oledbcommand

我正在尝试调用PostgreSQL函数,并使用SSIS中的OLE DB命令将值传递给它。

我的PostgreSQL函数签名如下:

UpdateZone(ZoneId integer,ZoneName varchar(50)) returns void 

它适用于

之类的静态值
Exec UpdateZone(1,'South')

但无法像这样对它进行参数化

Exec UpdateZone ?,? 

enter image description here

enter image description here

我正在为PostgreSQL使用PGNP OLEDB提供程序。

Execute Oracle Function from SSIS OLE DB Command  解释使用Oracle的工作。

1 个答案:

答案 0 :(得分:0)

如下所示提供SQLCommand即可解决问题。

Form.mydgv.Rows.add(name);

当它不是varchar时似乎无法识别参数类型。因此必须将占位符显式转换为函数中使用的预期类型。

请提出任何更好的方法。