【问题标题】:how to add a parameter to a part "from" into sql query in pentaho?如何在pentaho中将参数“from”添加到sql查询中?
【发布时间】:2019-03-24 10:16:24
【问题描述】:

我使用 postgreSQL/pentaho CDE。我需要在查询中将参数作为模式前缀传输。我需要运行这个查询:select * from peredelkino_public.protocol

我在 Pentaho 中使用了自定义参数(名为“selector_par”),在名为“Javascript 代码”的属性中我写了“peredelkino_public.protocol”。 然后我在组件“sql over sqlJndi”中更改了 sql 查询,如下所示:select * FROM (${selector_par}) 但是这个查询不起作用!我收到消息“错误处理组件”。如何在查询中传输模式前缀?

【问题讨论】:

    标签: pentaho pentaho-cde


    【解决方案1】:

    检查Replace variables in script。

    注意:如果参数selector_par 不存在或拼写错误,您可能会收到难以理解的错误消息。

    【讨论】:

    • 他的问题是关于CDE的,你的回答只对PDI有效。
    • @nsousa :您可以使用 PDI 作为 CDE 的数据输入。我错了吗?
    • 是的,但很确定他不是在这里做的,他在 CDE 中直接使用标准 sql 数据源。
    【解决方案2】:

    你不能。

    CDE 只能使用 JDBC 参数,而不能在 from 子句中使用。

    如果您绝对需要这样做,您应该在 CDE 中使用 Kettle 数据源,因为 PDI 允许在 SQL 查询的任何部分中使用任何变量。

    但请确保清理输入内容。诸如此类的可变替换是黑客的金矿。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-04
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 2022-12-04
      • 2019-03-03
      • 2022-11-04
      • 1970-01-01
      相关资源
      最近更新 更多