我正在使用SSIS并希望从PostgreSQL数据库中的函数中选择一个值。 (这个SSIS包从PostgreSQL数据库中检索数据以处理数据集市。这里的函数只是在PostgreSQL数据库的表中设置状态标志。)
该函数返回单个字符('Y'或'N')。我正在使用SQL任务执行它,发出语句'select edw_processing_start_process from;'。
该语句在PostgreSQL数据库上成功切换标志的意义上有效。但SQL任务返回此问题标题中的错误。 (我用Google搜索了这个错误,找到了很多引用,但似乎没有任何与这种精确情况相关的内容......我猜它出现在很多Microsoft工具中。)
SQL Task的ResultSet设置为Single row,变量设置为string data type。除此之外,我真的不知道发生了什么。
谢谢, - sw
答案 0 :(得分:4)
不确定你是否使用相同的驱动程序(psqlodbc),但通过一些奇迹,我发现如果我使用" 1"作为结果名称而不是返回列的名称,它就像一个魅力。
答案 1 :(得分:0)
刚刚遇到这个问题,将输出外部列类型从DT_WSTR更改为DT_STR似乎已经解决了它。不知道为什么DT_WSTR多年来一直有效,现在不管怎么样。