【问题标题】:Unable to pass parameteres to pentaho kjb file无法将参数传递给 pentaho kjb 文件
【发布时间】:2018-04-18 12:04:57
【问题描述】:

我是kettle 新手,我正在尝试运行一个kjb 文件,该文件又将执行一个转换(.ktr) 文件。我的 kjb 文件具有“设置变量”元素,该元素接受要在名为“filePath”的参数中读取的文件。

现在这是我的问题:当我通过 Pentaho UI(spoon) 运行时,我给 filePath 一个值并运行它(它没有任何默认值)。在那里,它获取 filePath 的值并将其传递给 ktr 以在 kjb 中调用并成功完成。

现在,当我尝试使用命令从命令行执行相同操作时:

C:\pentahodi\6.1.0\data-integration>Kitchen.bat /file:"H:/new/newJob.kjb" /param:filePath="H:/new/newXml.xml" /level:Basic > H:/pentahoLog1.log  

当 ktr 尝试访问文件时,它没有获取 filePath 值并终止。

我完全被卡住了。
请帮忙。谢谢。

【问题讨论】:

  • 奇怪,方法和命令行看起来OK。
  • 那只是一个小错误:放错地方了"

标签: command-line pentaho pentaho-spoon pentaho-data-integration


【解决方案1】:

使 param 参数包含在双引号中。使用这个:

C:\pentahodi\6.1.0\data-integration>Kitchen.bat /file:"H:/new/newJob.kjb" "/param:filePath=H:/new/newXml.xml" /level:Basic > H:/pentahoLog1.log  

这应该可以解决您的问题。

【讨论】:

  • 你终于救了我……谢谢
【解决方案2】:

尝试跟踪 Job 和 Transfo 看到的参数。

对于作业,使用名为Write to log 的步骤和类似filePath = --${filePath}-- 的消息。第一个filePath 是文本,第二个是名为filePath 的参数的值。 -- 用于检查是否有空白或烦人的字符。

您应该会在日志中看到带有 filePath 的新行。也许您可以删除 > file.log 以备不时之需。

当在作业级别正确读取参数时,对转换执行相同操作。

【讨论】:

猜你喜欢
  • 2017-03-17
  • 1970-01-01
  • 2013-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 2020-05-15
  • 2015-04-18
相关资源
最近更新 更多