无法将参数传递给 pentaho kjb 文件

Unable to pass parameteres to pentaho kjb file

我是 kettle 的新手,正在尝试 运行 一个 kjb 文件,该文件将执行一个转换 (.ktr) 文件。我的 kjb 文件有 "Set Variables" 元素,该元素接受要在名为 "filePath" 的参数中读取的文件。

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

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

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

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

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

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

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

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

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

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

您应该会在日志中看到包含 filePath 的新行。也许你删除了 > file.log 的场合。

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