在pentaho中执行SQL步骤

时间:2015-02-16 04:42:11

标签: pentaho

我创建了包含表输入,sql步和excel o / p步的转换。 1)表输入 - >运行查询并获取字段"查询"其中包括sql查询

"从双"

中选择*

2)执行sql步骤 - >使用'动态传递该查询字段?'并启用变量替换 3)Excel o / p-Expecting o / p是应该触发sql查询并在excel中获得结果o / p

但是我无法从执行sql步骤获取f ..我怎么能这样做?

由于 Kavitha S

2 个答案:

答案 0 :(得分:2)

使用Database join代替Execute SQL stepDatabase Join步骤允许您使用从先前步骤获得的数据对数据库运行查询。

  • Database join 输入:您可以在步骤中定义的SQL查询中使用?表示法传递上一步所需的任何数据。
  • Database join 输出:执行参数化SQL查询并添加新参数作为输出。

这一步是你迈出第二步所需要的。查看有关Database join step in the documentation的更多信息。

答案 1 :(得分:0)

在PDI中,"执行SQL步骤" 不适用于生成行。它不会向数据流添加任何额外的行。您有表输入步骤以生成多行。

你可以尝试作为替代方案,将转变分为两部分。

第1部分:表格输入步骤> (生成查询行)>>使用"设置变量"或者"将行复制到结果"将查询设置为某些变量的其他步骤,例如:query

第2部分:采取另一个表输入步骤(到下一个.ktr文件)并使用${query}>>的变量替换最后将结果集输出到excel输出。

对于动态sql查询,您可以阅读此blog


如果您对生成的查询进行了一些查找,可以使用Dynamic SQL row生成行。

希望有所帮助:)