【发布时间】:2013-12-10 00:28:35
【问题描述】:
我的工作是 SSIS,想从 PostgreSQL 数据库的函数中选择一个值。 (此 SSIS 包从 PostgreSQL 数据库中检索数据以处理到数据集市中。这里的功能只是在 PostgreSQL 数据库的表中设置状态标志。)
函数返回单个字符('Y' 或 'N')。我正在使用 SQL 任务执行它,发出语句“select edw_processing_start_process from ;”。
该语句有效,因为该标志已成功打开 PostgreSQL 数据库。但 SQL 任务返回此问题标题中的错误。 (我用谷歌搜索了那个错误,找到了很多参考资料,但似乎没有一个与这种确切情况有关......我猜它出现在很多微软工具中。)
SQL 任务的ResultSet 设置为Single row,变量设置为字符串数据类型。除此之外,我真的不知道发生了什么。
谢谢,--sw
【问题讨论】:
-
首先尝试将返回值捕获为对象(即 ADO 记录集)而不是字符串,然后查看它是否执行正常。可能字符串的 PostgreSQL 元数据定义与字符串的 SSIS 定义不匹配。甚至可能后退一步,根本不捕获结果,只是为了验证问题出在哪里。
-
我正在做类似的事情,它使用 PGNP 但使用 psqlodbc 作为驱动程序失败了。如果我弄明白了,我会在下面发布答案。
标签: postgresql ssis