Соединение SQL интеграции данных Pentaho

Я использую интеграцию данных Pentaho, и я пытаюсь подключиться к своей базе данных через MySQL, но когда я это делаю, я получаю эту ошибку.....

Error connecting to database [devdb2] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Exception while loading class
org.gjt.mm.mysql.Driver


org.pentaho.di.core.exception.KettleDatabaseException: 
Error occured while trying to connect to the database

Exception while loading class
org.gjt.mm.mysql.Driver


    at org.pentaho.di.core.database.Database.normalConnect(Database.java:368)
    at org.pentaho.di.core.database.Database.connect(Database.java:317)
    at org.pentaho.di.core.database.Database.connect(Database.java:279)
    at org.pentaho.di.core.database.Database.connect(Database.java:269)
    at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:86)
    at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2464)
    at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:533)
    at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:329)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:139)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:123)
    at org.pentaho.ui.xul.swt.tags.SwtButton.access0(SwtButton.java:26)
    at org.pentaho.ui.xul.swt.tags.SwtButton.widgetSelected(SwtButton.java:119)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
    at org.eclipse.jface.window.Window.open(Window.java:796)
    at org.pentaho.ui.xul.swt.tags.SwtDialog.show(SwtDialog.java:378)
    at org.pentaho.ui.xul.swt.tags.SwtDialog.show(SwtDialog.java:304)
    at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:115)
    at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:62)
    at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:493)
    at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:478)
    at org.pentaho.di.ui.spoon.Spoon.newConnection(Spoon.java:7770)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:329)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:139)
    at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:123)
    at org.pentaho.ui.xul.swt.tags.SwtMenuitem.access0(SwtMenuitem.java:27)
    at org.pentaho.ui.xul.swt.tags.SwtMenuitem.widgetSelected(SwtMenuitem.java:77)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1183)
    at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:6966)
    at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:567)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.pentaho.commons.launcher.Launcher.main(Launcher.java:134)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
Exception while loading class
org.gjt.mm.mysql.Driver

    at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:423)
    at org.pentaho.di.core.database.Database.normalConnect(Database.java:352)
    ... 50 more
Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
    at java.net.URLClassLoader.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:414)
    ... 51 more

Если я использовал SQLite в качестве типа соединения, он работает, но данные не возвращаются, когда я его исследую. Итак, мой вопрос: как я могу заставить MySQL работать или получить данные с помощью SQLite?

Я пропускаю библиотеку или класс?

5 ответов


Я только что столкнулся с той же проблемой при попытке запросить базу данных MySQL из Pentaho.

ошибка подключения к базе данных [локальный MySQL DB]: org.системы Pentaho.ди.ядро.исключение.Исключение KettleDatabaseException: Ошибка при попытке подключения к базе данных

исключение при загрузке класса орг.Колорадо.мм. для MySQL.Водитель

расширение поста @user979331 решение:

  1. скачать в Последний MySQL Java Connector / Driver
  2. распакуйте the zip файл (в моем случае это было mysql-connector-java-5.1.31.zip)
  3. скопировать the .Джар (mysql-connector-java-5.1.31-bin.Джар) и вставить в своем Lib:

    PC: C:\Program Файлы\pentaho\дизайн-инструменты\интеграция данных\lib

    Mac: / приложения / интеграция данных / lib

перезапустите Pentaho (интеграция данных) и повторно протестируйте соединение MySQL.


отсутствует файл драйвера.

эта ошибка действительно распространена для людей, только приступающих к работе с PDI.

драйверы идут в \pentaho\design-tools\data-integration\libext\JDBC для PDI. Если вы используете другие инструменты в Pentaho suite, вам может потребоваться скопировать драйверы в дополнительные места для этих инструментов. Для справки, вот соответствующие папки для некоторых других инструментов проектирования:

  • Конструктор Агрегатов : \pentaho\design-tools\aggregation-конструктор\драйверы
  • редактор метаданных: \pentaho\design-tools\metadata-editor\libext\JDBC
  • конструктор отчетов: \pentaho\design-tools\report-designer\lib\jdbc
  • верстак схемы: \pentaho\design-tools\schema-workbench\drivers

Если это преобразование или задание будет выполняться на другом поле, например на тестовом или производственном сервере, не забудьте скопировать файл jar и перезапустить PDI или данные Integration Server в соображениях развертывания.


оказывается, мне будет не хватать класса mysql-connector-java-5.1.2.jar, я добавил эту папку (C:\Program Files\pentaho\design-tools\data-integration\lib), и он работал с подключением MySQL, и появляются мои данные и таблицы.


В дополнение к другим ответы здесь, вот как вы можете сделать это на Ubuntu (14.04):

sudo apt-get install libmysql-java

это будет скачать mysql-connector-java-5.x.x.jar to /usr/share/java/, который, я считаю, также автоматически создает символическую ссылку с именем mysql-connector-java.jar.

затем создайте символическую ссылку в /your/path/to/data-integration/lib/:

ln -s /usr/share/java/mysql-connector-java.jar /your/path/to/data-integration/lib/mysql-connector-java.jar


вам нужно скачать mysql-connector-java-5.1.46.tar.gz, не последняя версия. Класс драйвера, который использует Pentaho, не включен в mysql-connector-java-8.xx.YY версии.