Выполнение преобразования в Java с подключением к базе данных с использованием интеграции данных Pentaho - PullRequest
0 голосов
/ 08 октября 2018

Вот мой код

public static void main (String [] args) {

    try {
        KettleEnvironment.init();
         KettleDatabaseRepository repository = new KettleDatabaseRepository();
         DatabaseMeta databaseMeta = new DatabaseMeta();
         databaseMeta.setDatabaseType("PostgreSQL");
         databaseMeta.setHostname("localhost");
         databaseMeta.setDBName("pditest");
         databaseMeta.setDBPort("5432");
         databaseMeta.setUsername("postgres");
         databaseMeta.setPassword("krisha");
         KettleDatabaseRepositoryMeta kettleDatabaseMeta = new KettleDatabaseRepositoryMeta(
                  "repositoryId", "kettle-repo", "Transformation description", databaseMeta );
         repository.init( kettleDatabaseMeta );

         repository.connect("admin","admin");
         RepositoryDirectoryInterface directory = repository.loadRepositoryDirectoryTree();
        TransMeta transformationMeta = repository.loadTransformation(
                 "testTransformation", directory, null, true, null ) ;

                              Trans trans = new Trans(transformationMeta);
                              trans.execute( null ); // You can pass arguments instead of null.


                              trans.waitUntilFinished();

                              if ( trans.getErrors() > 0 ) {   
                                  System.out.println("error in excecution ");

                              }else{
                                        //Transformation run successfully. 
                                  System.out.println("transfromation run successfully");
                              }

    }

    catch (KettleException e)
    {

        e.printStackTrace();
    }

}

}

, но получаю ошибку: org.pentaho.di.core.exception.KettleAuthException: неверный пароль или логин

at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryUserDelegate.loadUserInfo(KettleDatabaseRepositoryUserDelegate.java:109)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.connect(KettleDatabaseRepository.java:196)
at org.pentaho.di.repository.kdr.KettleDatabaseRepository.connect(KettleDatabaseRepository.java:180)
at abc.PDIDatabase.main(PDIDatabase.java:31)

Я также тестировал соединение в ложке с тем же именем пользователя, пароль «admin», «admin»

...