GalaxyPilot —— D.S


                  生命不熄,戰(zhàn)斗不止
          數(shù)據(jù)加載中……

          java調(diào)用kettle4.2數(shù)據(jù)庫型資料庫中的作業(yè)

          import org.pentaho.di.core.KettleEnvironment;
          import org.pentaho.di.core.database.DatabaseMeta;
          import org.pentaho.di.job.JobMeta;
          import org.pentaho.di.job.Job;
          import org.pentaho.di.repository.Repository;
          import org.pentaho.di.repository.RepositoryDirectoryInterface;
          import org.pentaho.di.repository.kdr.KettleDatabaseRepository;
          import org.pentaho.di.repository.kdr.KettleDatabaseRepositoryMeta;

          public class execRepositoryJobs {

              private static String jobName = "Job";

              public static void main(String[] args) {
                  try {
                      KettleEnvironment.init();

                      KettleDatabaseRepository repository = new KettleDatabaseRepository();

                      DatabaseMeta databaseMeta = new DatabaseMeta("repository", "MSSQL","Native", "192.169.0.146", "repository", "1433", "sa","sa");

                      KettleDatabaseRepositoryMeta kettleDatabaseMeta = new KettleDatabaseRepositoryMeta("repository", "ERP", "Transformation description",databaseMeta);

                      repository.init(kettleDatabaseMeta);

                      repository.connect("admin", "admin");

                      RepositoryDirectoryInterface directory = repository.loadRepositoryDirectoryTree();
                      
                      JobMeta jobMeta = ((Repository) repository).loadJob(jobName, directory, null, null ) ;

          //            RepositoryDirectoryInterface fooBar = directory.findDirectory("/");
          //
          //            JobMeta jobMeta = repository.loadJob(repository.getJobId(jobName, fooBar), null);

                      Job job = new Job(repository,jobMeta);
                      
                      job.start();
                      
                      job.waitUntilFinished();
                      
                      if (job.getErrors() > 0) {
                          throw new RuntimeException(
                                  "There were errors during transformation execution.");
                      }

                  } catch (Exception e) {
                      e.printStackTrace();
                  }
              }
          }

          posted on 2012-07-30 14:33 舵手 閱讀(1528) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: java調(diào)用kettle4.2數(shù)據(jù)庫型資料庫中的作業(yè)  回復(fù)  更多評(píng)論   

          這陣子跟kettle較勁了?
          2012-10-25 11:19 | klzz

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 清新县| 镇平县| 开封县| 吉木乃县| 四子王旗| 沧州市| 普安县| 江阴市| 色达县| 永昌县| 台安县| 蒙城县| 电白县| 新河县| 高淳县| 克东县| 诏安县| 岢岚县| 梨树县| 乌拉特中旗| 德令哈市| 探索| 当涂县| 佳木斯市| 通辽市| 洛川县| 昌都县| 古浪县| 永平县| 新化县| 宜春市| 大关县| 克什克腾旗| 定结县| 舒兰市| 三河市| 伊春市| 陆河县| 田东县| 康保县| 河间市|