java調用kettle7傳遞參數並執行作業


java代碼如下所示:
public static void runJob(String fileName, String beginTime, String endTime) throws KettleException {// 初始化 KettleEnvironment.init(); // 任務元對象 fileName為作業的絕對路徑C:\Users\Administrator\Desktop\參數傳遞測試作業.kjb JobMeta jm = new JobMeta(fileName, null);
     // 任務 Job job = new Job(null, jm); // 傳參 job.setVariable("beginTime", beginTime); job.setVariable("endTime", endTime); // 開始任務 job.start(); // 等待任務結束 job.waitUntilFinished(); }

作業與轉換

作業中添加轉換1和轉換2

轉換1中需添加 獲取系統信息 步驟,獲取需要的參數,表輸入中需勾選替換SQL語句中的變量。內容如下圖所示(轉換2同轉換1):

 

 

  '${beginTime}' 轉換中加單引號的原因:java中若參數定義為 String beginTime = "2021-04-07 00:00:00"; 
傳遞到轉換中${beginTime}的值就是2021-04-07 00:00:00   PS: 也可以直接這樣定義String beginTime = "'2021-04-07 00:00:00'"; 則對應轉換中的參數不需添加單引號   BETWEEN to_date(${beginTime},'yyyy-MM-dd hh24:mi:ss') and to_date(${endTime},'yyyy-MM-dd hh24:mi:ss')

 

測試時可以采用以下方法:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM