kettle7(pdi)中job中的定义的变量无法传递给转换的问题

最近遇到一个问题,在作业(job)中定义的变量,无法传递到转换中。

1. 作业job定义如图

2.转换定义如图

 

3.为了测试转换的设置,所以在转换中设置了【命名参数】和默认值

在本地用spoon执行一点问题没有,但上传到远程的服务器上,转换就是获取不到变量。

然后,另外又在另一台远程服务器装了一个测试环境,测试也没问题,这就奇怪了。

最后,经过多次测试,竟然发现,只要删除转换里面的【命名参数】(光删除默认值都不行),job定义的变量,就可以传入到转换中了

这就太神奇,是什么原因导致这个问题呢?

最后,对比了一下,本地电脑版本是8.2的,测试服务器是9.0的,会不会是版本的问题?

生成环境的服务器是linux的,无法使用图形的spoon,一直没有注意它的版本

通过${kettle_home}/pan.sh -version 查看版本,发现服务器的竟然是7.1的版本

突然想起8.0的release note 里面好像有修正这个变量的问题。

总结:

在kettle7中,转换要接收作业的变量,一定不能定义命名参数

posted @ 2020-08-19 10:08  千年寒冰火  阅读(1663)  评论(2编辑  收藏  举报