GalaxyPilot —— D.S


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

          java調(diào)用kettle4.2數(shù)據(jù)庫型資料庫中的轉(zhuǎn)換

          import org.pentaho.di.core.KettleEnvironment;
          import org.pentaho.di.core.database.DatabaseMeta;
          import org.pentaho.di.core.exception.KettleException;
          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;
          import org.pentaho.di.trans.Trans;
          import org.pentaho.di.trans.TransMeta;

          /**
           * <p>Title: java調(diào)用kettle4.2數(shù)據(jù)庫型資料庫中的轉(zhuǎn)換</p>
           * <p>Description: </p>
           * <p>Copyright: Copyright () 2012</p>
           * @author 舵手
           * @version
           */

          public class ExecRepositoryTrans {

              private static String transName = "Trans";

              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();

                      TransMeta transformationMeta = ((Repository) repository).loadTransformation(transName, directory, null, true, null ) ;

                      Trans trans = new Trans( transformationMeta );
                      //trans.setParameterValue( parameterName, parameterValue);
                      trans.execute(null);
                      trans.waitUntilFinished();
                      if ( trans.getErrors() > 0 ) {                    
                          System.out.println("Error running transformation.");
                      }else{
                          System.out.println("Transformation run successfully.");
                      }
                  } catch (KettleException e) {
                      e.printStackTrace();
                  }
              }

          }

          posted on 2012-07-25 16:00 舵手 閱讀(2551) 評論(3)  編輯  收藏

          評論

          # re: java調(diào)用kettle4.2數(shù)據(jù)庫型資料庫中的轉(zhuǎn)換  回復(fù)  更多評論   

          這段代碼Pan.java里面也有
          2012-07-25 17:51 | 夏天的太陽

          # re: java調(diào)用kettle4.2數(shù)據(jù)庫型資料庫中的轉(zhuǎn)換  回復(fù)  更多評論   

          我寫這幾行代碼費(fèi)了不少事,早知道就不這么費(fèi)事了。

          搜遍kettle的安裝目錄,只找到org.pentaho.di.pan.Pan.class
          反編譯也沒有,不知夏天說的Pan.java在什么位置?
          2012-07-25 19:45 | 舵手

          # re: java調(diào)用kettle4.2數(shù)據(jù)庫型資料庫中的轉(zhuǎn)換[未登錄]  回復(fù)  更多評論   

          package org.pentaho.di.pan;

          import java.io.InputStream;
          import java.text.SimpleDateFormat;
          import java.util.ArrayList;
          import java.util.Calendar;
          import java.util.Date;
          import java.util.List;

          import org.pentaho.di.core.Const;
          import org.pentaho.di.core.JndiUtil;
          import org.pentaho.di.core.database.Database;
          import org.pentaho.di.core.exception.KettleException;
          import org.pentaho.di.core.logging.LogWriter;
          import org.pentaho.di.core.parameters.NamedParams;
          import org.pentaho.di.core.parameters.NamedParamsDefault;
          import org.pentaho.di.core.util.EnvUtil;
          import org.pentaho.di.core.xml.XMLHandler;
          import org.pentaho.di.job.JobEntryLoader;
          import org.pentaho.di.repository.RepositoriesMeta;
          import org.pentaho.di.repository.Repository;
          import org.pentaho.di.repository.RepositoryDirectory;
          import org.pentaho.di.repository.RepositoryMeta;
          import org.pentaho.di.repository.UserInfo;
          import org.pentaho.di.trans.StepLoader;
          import org.pentaho.di.trans.Trans;
          import org.pentaho.di.trans.TransMeta;
          import org.pentaho.di.version.BuildVersion;
          import org.w3c.dom.Document;


          public class Pan
          {
          2012-09-30 07:56 | owen

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 彩票| 隆化县| 东山县| 隆子县| 章丘市| 阿克苏市| 汉源县| 凤凰县| 富川| 根河市| 巫溪县| 灵寿县| 容城县| 卫辉市| 普格县| 东莞市| 紫金县| 灵山县| 奉化市| 连江县| 平乡县| 土默特左旗| 化隆| 新平| 武隆县| 苏州市| 堆龙德庆县| 富平县| 延津县| 唐海县| 黄石市| 延寿县| 桐柏县| 华蓥市| 尼勒克县| 崇礼县| 桦南县| 郑州市| 永州市| 兖州市| 元阳县|