我创建了包含表输入,sql步和excel o / p步的转换。 1)表输入 - >运行查询并获取字段"查询"其中包括sql查询
"从双"
中选择*2)执行sql步骤 - >使用'动态传递该查询字段?'并启用变量替换 3)Excel o / p-Expecting o / p是应该触发sql查询并在excel中获得结果o / p
但是我无法从执行sql步骤获取f ..我怎么能这样做?
由于 Kavitha S
答案 0 :(得分:2)
使用Database join
代替Execute SQL step
。 Database 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生成行。
希望有所帮助:)