调用kettle api传参时不赋值的解决方法

在使用Kettle API创建job并动态传参时,遇到参数不生效的问题。通过设置参数默认值并在运行时传入实际值,发现只有特定写法才能成功。错误示例:job.setParameterValue("v_date", "to_date('"+beginDate+"','yyyymmdd')")。此问题揭示了Kettle API的不完善,可能存在bug。" 18353305,1464717,Oracle批量提交技巧解析,"['Oracle数据库', 'PL/SQL', '数据库操作']
摘要由CSDN通过智能技术生成

在生成的xml文件中默认指定了一个初始化参数值,然后在run时动态传入实际值,却不起作用,纠结了老多时间,终于发现解决法了。过程阐述如下,做一个记录,也为遇到同样问题的朋友提供帮助。

在生成job文件时,设置一个参数,并附默认值,代码如下:

// 若为增量,需要添加增量参数
		if (incr != null && incr.equals("1")) {

			try {
				jobMeta.addParameterDefinition("v_date", "to_date('19000101','yyyymmdd')", "增量时间");
			} catch (DuplicateParamException e) {
				e.printStackTrace();
			}
		}

效果如下:




然后在run作业的时候,动态传入参数值:

if(schType!="0"){//若为非全量,需要设置时间参数
			try {
				job.getJobMeta().s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值