<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-200  評論-148  文章-15  trackbacks-0
    轉(zhuǎn)自

    http://blog.csdn.net/chen978616649/article/details/9063695


    代碼如下:調(diào)用kettle 4.2版本


    package test;


    import org.apache.commons.lang.StringUtils;
    import org.apache.commons.vfs.FileSelector;
    import org.pentaho.di.core.KettleEnvironment;
    import org.pentaho.di.core.database.DatabaseMeta;
    import org.pentaho.di.core.exception.KettleException;
    import org.pentaho.di.core.util.EnvUtil;
    import org.pentaho.di.job.Job;
    import org.pentaho.di.job.JobMeta;
    import org.pentaho.di.repository.RepositoryDirectory;
    import org.pentaho.di.repository.RepositoryDirectoryInterface;
    import org.pentaho.di.repository.kdr.KettleDatabaseRepository;
    import org.pentaho.di.repository.kdr.KettleDatabaseRepositoryMeta;
    import org.pentaho.di.trans.Trans;
    import org.pentaho.di.trans.TransMeta;


    import com.longtech.configuration.BaseConfiguration;
    import com.platform.common.util.LoggerUtil;


    /**
     * 
     * @Description:  java調(diào)用kettle 數(shù)據(jù)庫型資料庫中的轉(zhuǎn)換
     * @author chen 此類是調(diào)用kettle 4.2版本的測試類
     * @version 1.0, 
     * @date 2013-5-23 下午02:40:50
     */
    public class ExecRepositoryTrans {
    /**
    * 本測試類慎用?。。。。。?!
    * @param args
    */
    public static void main(String[] args) {
    //D:\java\workspace\sics\src\config\kettle
    String classesdir = BaseConfiguration.getString("classesdir");
    String jobName = BaseConfiguration.getString("kettle.path.file");
    if(StringUtils.isNotEmpty(jobName)){
    LoggerUtil.info(ExecRepositoryTrans.class, "執(zhí)行kettle job start-------------------");

    runJob(classesdir + jobName);

    LoggerUtil.info(ExecRepositoryTrans.class, "執(zhí)行kettle job end -------------------");
    }else{

    LoggerUtil.info(ExecRepositoryTrans.class, "請配置kettle.path.file job 的路徑文件");
    }

    }
    /**
    *java 調(diào)用kettle 轉(zhuǎn)換 
    */
    public static void runTransfer(){
    Trans trans=null;  
    FileSelector f = null;
    try {
    // 初始化  
                String fName= "D:\\kettle\\informix_to_am_4.ktr";
                // 轉(zhuǎn)換元對象  
            KettleEnvironment.init();//初始化
            EnvUtil.environmentInit();
                TransMeta transMeta = new TransMeta(fName);
                // 轉(zhuǎn)換  
                trans = new Trans(transMeta);  
                // 執(zhí)行轉(zhuǎn)換  
                trans.execute(null);   
                // 等待轉(zhuǎn)換執(zhí)行結(jié)束  
                trans.waitUntilFinished();  
                //拋出異常  
                if(trans.getErrors()>0){  
                    throw new Exception("There are errors during transformation exception!(傳輸過程中發(fā)生異常)");  
                }  
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    /**
    * java 調(diào)用 kettle 的job
    * @param jobname 如: String fName= "D:\\kettle\\informix_to_am_4.ktr";
    */
    public static void runJob(String jobname){  
    try {   
    KettleEnvironment.init();   
    //jobname 是Job腳本的路徑及名稱   
    JobMeta jobMeta = new JobMeta(jobname, null);   
    Job job = new Job(null, jobMeta);   
    //向Job 腳本傳遞參數(shù),腳本中獲取參數(shù)值:${參數(shù)名}   
    //job.setVariable(paraname, paravalue);   
     job.start();   
     job.waitUntilFinished();   
     if (job.getErrors() > 0) {   
     throw new Exception("There are errors during job exception!(執(zhí)行job發(fā)生異常)");  
     }   
    } catch (Exception e) {   
    e.printStackTrace();
    }   
    }
    /**
    * 配置數(shù)據(jù)源 調(diào)用資源庫中的相關job 、transfer
    */
    public static void dbResource(){
    String transName="t1";  
             
           try {  
               KettleEnvironment.init();  
               DatabaseMeta dataMeta = new DatabaseMeta("KettleDBRep","MSSQL","Native","127.0.0.1","etl","1433","sa","bsoft");  
               KettleDatabaseRepositoryMeta repInfo = new KettleDatabaseRepositoryMeta();  
               repInfo.setConnection(dataMeta);  
               KettleDatabaseRepository rep = new KettleDatabaseRepository();  
               rep.init(repInfo);  
               rep.connect("admin", "admin");  
                 
               RepositoryDirectoryInterface dir = new RepositoryDirectory();  
               dir.setObjectId(rep.getRootDirectoryID());  
                 
               TransMeta tranMeta = rep.loadTransformation(rep.getTransformationID(transName, dir), null);  
               Trans trans = new Trans(tranMeta);  
               trans.execute(null);  
               trans.waitUntilFinished();  
           } catch (KettleException e) {  
               e.printStackTrace();  
           }  
    }


    }

    posted on 2014-03-02 08:20 無聲 閱讀(1626) 評論(0)  編輯  收藏 所屬分類: 職場生活
    主站蜘蛛池模板: 一级毛片在播放免费| 久久国产乱子伦免费精品| 一级一看免费完整版毛片| 日韩在线免费看网站| 亚洲AV乱码久久精品蜜桃 | 最新亚洲人成网站在线观看| 免费看成人AA片无码视频吃奶| 性感美女视频在线观看免费精品 | 国内精品免费在线观看| 在线观看国产情趣免费视频| 亚洲精品乱码久久久久蜜桃| 最近免费中文字幕大全免费版视频| 亚洲Av无码精品色午夜| 国产成人无码精品久久久久免费| 午夜免费不卡毛片完整版| 97久久精品亚洲中文字幕无码| 国产免费一区二区三区免费视频 | 亚洲精品在线免费观看| 亚洲精品成人片在线播放| 美美女高清毛片视频黄的一免费| 青春禁区视频在线观看直播免费 | 免费精品视频在线| 妞干网免费观看视频| 精品亚洲国产成人av| 毛茸茸bbw亚洲人| 一级毛片不卡免费看老司机 | 久久亚洲AV成人无码| 免费毛片在线看片免费丝瓜视频| 在线观看免费亚洲| 日本免费人成在线网站| 亚洲理论在线观看| 国产电影午夜成年免费视频 | 亚洲av最新在线观看网址| 亚洲国产激情一区二区三区| 色婷婷亚洲一区二区三区| 亚洲精品中文字幕无码蜜桃| 日韩版码免费福利视频| 亚洲永久在线观看| 日韩激情无码免费毛片| 免费无码H肉动漫在线观看麻豆| 亚洲资源最新版在线观看|