从 SSIS 包访问 netezza 的系统目录视图不起作用
Posted
技术标签:
【中文标题】从 SSIS 包访问 netezza 的系统目录视图不起作用【英文标题】:Accessing system catalog views of netezza from SSIS package not working 【发布时间】:2020-03-25 17:56:06 【问题描述】:我正在尝试从 SSIS 包 sql 任务向 netezza 数据库运行以下查询:
select t.table_name
from tables t,
columns c
where t.table_name like 'AB%'
and t.table_name = c.table_name
and c.column_name = 'XYZ'
查询可以在 Aginity 工作台等不同的编辑器上完美运行,但是 SSIS 包没有提供任何输出,并且它继续运行而没有任何结果。
我不确定 SSIS 是否存在与访问其他数据源的系统目录视图相关的限制。
如果有人遇到同样的问题,请提出建议。
问候, 呸
【问题讨论】:
为什么说“系统目录”?这些看起来像普通表......你得到什么错误? 存在系统表,在 netezza 世界中它被称为系统目录表/视图,在 SQL 中我们称之为系统表。我没有收到任何错误,它无限运行而没有任何结果,其他查询正在运行而没有任何问题。 我们手上有一个谜...... SSIS 中的查询是否完全相同? 顺便说一句:在这个例子中你不需要加入“表”....如果你不加入,它会起作用吗? 嗨,'Lars G Olsen',是的,SSIS 包中的查询完全相同(根据我的要求,只有列名和表名不同)。无论如何,如果我试图访问系统表,它不适用于 SQL 任务。 【参考方案1】:感谢您抽出宝贵时间来解决我面临的问题。
作为替代解决方案,我正在使用脚本任务(C# 编程)并且相同的查询工作正常,没有任何问题。
但不确定为什么 SQL 任务不起作用。
所以我将此标记为解决方案。很高兴看到任何可以为 SQL 任务方法提供解决方案的响应,该方法易于支持(松散耦合)。
【讨论】:
确切的 where 子句可能是相关的。如果由于基数估计而针对“postgres”目录表的查询计划不同,则很可能会导致“无限”运行时......以上是关于从 SSIS 包访问 netezza 的系统目录视图不起作用的主要内容,如果未能解决你的问题,请参考以下文章
选择语句从 Netezza 数据库中获取数据并插入 SQL Server 数据库 (SSIS)