barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 15 февраля 2013 г.

KettleDatabaseException: database type with plugin id [Oracle] couldn't be found!

Проблема:

Пытаюсь из Java выполнить Kettle job. На строчке:
JobMeta jobMeta = new JobMeta(PATH_TO_KJB, null);
падает:
Unable to load the job from XML file [/.../.../my.kjb]
Unable to load job info from XML node
Database type not found!
at org.pentaho.di.job.JobMeta.<init>(JobMeta.java:879)
...Caused by: org.pentaho.di.core.exception.KettleXMLException:
Unable to load job info from XML node
Database type not found!
at org.pentaho.di.job.JobMeta.loadXML(JobMeta.java:1212)
...Caused by: org.pentaho.di.core.exception.KettleDatabaseException:
database type with plugin id [Oracle] couldn't be found!
at org.pentaho.di.core.database.DatabaseMeta.findDatabaseInterface(DatabaseMeta.java:498)
at org.pentaho.di.core.database.DatabaseMeta.getDatabaseInterface(DatabaseMeta.java:474)
at org.pentaho.di.core.database.DatabaseMeta.setValues(DatabaseMeta.java:549)
... 34 more
При этом в kjb используется БД, вот только никакой не Oracle, а MSSQL.

Причина:

Не выполнена инициализация окружения Kettle, из-за этого срабатывают какие-то умолчания, в которых забит Oracle.

Решение:
KettleEnvironment.init();

Комментариев нет:

Отправить комментарий