Подтвердить что ты не робот

Подключение к базе данных Pentaho SQL

Я использую Pentaho Data Integration, и я пытаюсь подключиться к своей базе данных через 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.access$500(SwtButton.java:26)
    at org.pentaho.ui.xul.swt.tags.SwtButton$4.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.access$100(SwtMenuitem.java:27)
    at org.pentaho.ui.xul.swt.tags.SwtMenuitem$1.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$1.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?

Мне не хватает библиотеки или класса?

4b9b3361

Ответ 1

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

Ответ 2

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

Ошибка подключения к базе данных [Local MySQL DB]: org.pentaho.di.core.exception.KettleDatabaseException: Ошибка при попытке подключения к базе данных

Исключение при загрузке класса org.gjt.mm.mysql.Driver

Расширяя пост by @user979331, решение:

  • Загрузите Последний соединитель/драйвер MySQL Java
  • Разархивируйте файл zip (в моем случае он был mysql-connector-java-5.1.31.zip)
  • скопируйте файл .jar (mysql-connector-java-5.1.31-bin.jar) и вставьте его в Lib:

    ПК: C:\Program Files\pentaho\design-tools\data-integration\lib

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

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

Ответ 3

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

Эта ошибка действительно обычна для людей, которые только начинают работать с PDI.

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

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

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

Ответ 4

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

Ответ 5

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

sudo apt-get install libmysql-java

это загрузит mysql-connector-java-5.x.x.jar в /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

Ответ 6

Приведенные выше ответы были полезны, но по неизвестным причинам они, похоже, не сработали. Поэтому, если вы уже установили MySql Workbench в своей системе, вместо загрузки файлов JAR и поиска правильной версии просто перейдите на.

C:\Program Files (x86)\MySQL\Connector J 8.0

и скопируйте mysql-connector-java-8.0.12 (неважно, какая это версия) файл jar в этом месте и вставьте его в C:\Program Files\pentaho\design-tools\data-integration\lib

Ответ 7

Прежде всего вам необходимо скачать Mysql-коннектор, который совместим с вашей версией pentaho. После этого вставьте его в папку data -gration/lib и перезапустите ваш pentaho. Проверь этоhttps://help.pentaho.com/Documentation/8.1/Setup/JDBC_Drivers_Reference#MY_SQL