有人用过java 调用kettle6.1 转换脚本吗? 我用同样的代码,可以执行kettle 4.1的脚本,可6.1始终不行? 是6.1 不支持了?还是写法变了?
如下这段代码4.1可以,6.1就不行。求解!!
public static void call(String transFileName, String[] params) throws IOException {
try {
// 初始化
KettleEnvironment.init();
// 转换元对象
TransMeta transMeta = new TransMeta(transFileName);
// 转换对象
Trans trans = new Trans(transMeta);
// 设置日志等级(debug非常详细,对于跟踪问题有帮助)
// trans.setLogLevel(LogLevel.DEBUG);
// trans.setLogLevel(LogLevel.ROWLEVEL);
// 传递参数
// 执行转换准备执行
trans.prepareExecution(params);
// 开启线程并执行
trans.startThreads();
// 直接执行(需要传入参数,如果使用该方法。可以不是用prepareExecution。)
// trans.execute(params);
Result result = trans.getResult();
System.out.println(result.getXML());
// trans.execute(params);
// 等待线程结束
trans.waitUntilFinished();
if (trans.getErrors() != 0) {
System.out.println("执行转换错误!");
}
} catch (KettleException ke) {
ke.printStackTrace();
}
}