如何强制 Informatica 中的 SQ 使用 Unix 路径中文件的查询

How to force SQ in Informatica to use query from file in Unix path

我在 SQ 转换中有一个带有一个端口的映射,数据类型为 char。现在我希望 SQ 使用我将放置在 unix 路径中的查询(显然是 return 一列)。每当我在 unix 中更改查询时,映射都会根据查询生成不同的数据集。 有什么办法可以通过 SQ 甚至其他转换来做到这一点? 我不想参数化查询并在 SQ 中使用参数。这可能会导致查询的大小限制。

为此,您可以在脚本模式下使用 SQL 转换。只需将 SQL 文件名和路径传递给 SQL 转换。

我仍然不明白对参数文件的厌恶 - returns 1 列的查询可以有多大?如果您有疑问,请查看以下非常相似的线程,其中 nico 提供了关于字符串参数限制的良好指示,即超过 32000 个字符。 https://network.informatica.com/thread/20140

您还可以使用 SELECT $$Selection FROM $$Sources WHERE $$Conditions

来扩展分配

创建一个运行任何给定查询的映射通常不是一个好主意。 PowerCenter 不是 SQL 语句执行工具。

为此,您不需要 PowerCenter。你甚至会遇到很多问题。创建一些简单的 jar 或使用任何脚本语言。

PowerCenter 是一种进行数据处理的工具。源应该反映底层数据结构。源限定符应处理来自底层 table 的数据。您不能创建一个反映任何给定 table.

结构的

无论如何:另一种解决方案是尝试将您的语句保存在数据库中并使用参数化 SP 来执行所需的语句。