GalaxyPilot —— D.S


                  生命不熄,戰斗不止
          數據加載中……

          java調用kettle4.2數據庫型資料庫中的作業

          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 舵手 閱讀(1524) 評論(1)  編輯  收藏

          評論

          # re: java調用kettle4.2數據庫型資料庫中的作業  回復  更多評論   

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

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 河津市| 措勤县| 承德市| 缙云县| 贵南县| 伊金霍洛旗| 讷河市| 林西县| 白城市| 广平县| 封丘县| 交城县| 肃宁县| 泸州市| 本溪市| 林芝县| 饶河县| 科尔| 雅江县| 公主岭市| 永仁县| 庐江县| 什邡市| 东城区| 遵义县| 岚皋县| 宽甸| 多伦县| 阿拉善左旗| 咸阳市| 贡觉县| 延安市| 宁夏| 克山县| 奉贤区| 武夷山市| 崇州市| 宁国市| 新乐市| 罗江县| 衡南县|