之前在kettle中使用过把数据库连接的一些值使用参数代替,从而可以动态指定连接库信息。而这次要把参数用到SQL语句中,我只记得当时用数据库连接的时候,引用的时候用${variable}或者%%variable%%,可是在SQL语句中使用出现恶劣异常,于是做了个实验,建立一个表(有4个列,后两列用于实验,前两列用于看数据),这里就不再截图了。
总结下来,kettle里使用变量分两种情况:
一:在job里SET Variablel控件使用变量
1:当引用变量的如果是数值类型的,不需要再引用时添加单引号‘ ’(即是说两种是等效的),但是别忘记在引用的控件里勾选替换SQL语句里的变量。
2:如果是字符类型,则需要在引用时加 ‘ ’号,否则报错(调试过)。
二:在转换的数据流里使用变量
这种情况多用于使用第一个步骤的结果列,作为下一步的条件。
在数据流里(比如使用表输入为下一个转换控件中传递参数)使用前一步骤的值,建议使用别名(比如as var_date),而在下个步骤应用时却只能用"?"这个符号引用上一步骤的值。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26936900/viewspace-733271/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26936900/viewspace-733271/