【问题标题】:Pentaho Execute SQL Statements variable conversion to nullPentaho Execute SQL Statements 变量转换为null
【发布时间】:2016-06-17 15:33:40
【问题描述】:

我正在使用 PDI 从数据库中删除和插入一些数据。我有以下问题。我创建了两个名为 START_DATE 和 END_DATE 的变量,用于选择将从我的数据库中删除的数据。我能够获取它们并在日志文件中没有错误地运行我的转换,但是当我检查数据是否被删除时,我发现它没有。我发送检查了我的“DeleteProcedure”步骤,它显示“转换错误:null”。我尝试了不同的方法来获取变量并将它们作为字符串传递,但我无法解决这个问题。这不可能是 SQL 错误,因为我使用常量对其进行了测试,并且它可以正常工作。

有什么想法吗?我附上一些图片。谢谢!

【问题讨论】:

  • 你在你的 SQL 中尝试过 SQL 引号吗?例如:BETWEEN 'date(${START_DATE})' AND date('${END_DATE)') ...

标签: sql pentaho kettle pdi pentaho-spoon


【解决方案1】:

作为Execute SQL script 的文档说:

注意:如果您遇到问题,即 SQL 在转换的初始化阶段而不是针对每一行启动,请确保选中选项“为每一行执行"(见下文说明)。

在您的情况下,它在转换的初始化阶段执行,这就是为什么它获取 null 值而不是上一步中的值。

【讨论】:

  • 无论如何,您可以改用Delete 步骤。谈到性能时,它应该更快。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-03
  • 1970-01-01
  • 2015-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
相关资源
最近更新 更多