Ответ 1
Оказывается, мне не хватает класса mysql-connector-java-5.1.2.jar, я добавил его в эту папку (C:\Program Files\pentaho\design-tools\data-integration\lib), и он работал с соединением MySQL и моими данными и таблицами.
Я использую 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?
Мне не хватает библиотеки или класса?
Оказывается, мне не хватает класса mysql-connector-java-5.1.2.jar, я добавил его в эту папку (C:\Program Files\pentaho\design-tools\data-integration\lib), и он работал с соединением MySQL и моими данными и таблицами.
Я просто столкнулся с той же проблемой, пытаясь запросить базу данных MySQL из Pentaho.
Ошибка подключения к базе данных [Local MySQL DB]: org.pentaho.di.core.exception.KettleDatabaseException: Ошибка при попытке подключения к базе данных
Исключение при загрузке класса org.gjt.mm.mysql.Driver
Расширяя пост by @user979331, решение:
скопируйте файл .jar (mysql-connector-java-5.1.31-bin.jar) и вставьте его в Lib:
ПК: C:\Program Files\pentaho\design-tools\data-integration\lib
Mac:/Приложения/интеграция данных /lib
Перезапустите Pentaho (Интеграция данных) и повторите проверку соединения MySQL.
Отсутствует файл драйвера.
Эта ошибка действительно обычна для людей, которые только начинают работать с PDI.
Драйверы идут в \pentaho\design-tools\data-integration\libext\JDBC для PDI. Если вы используете другие инструменты в наборе Pentaho, вам может потребоваться скопировать драйверы в дополнительные места для этих инструментов. Для справки, вот соответствующие папки для некоторых других инструментов проектирования:
Если это преобразование или задание будут выполняться на другом поле, например на тестовом или производственном сервере, не забудьте включить копирование файла jar и перезапуск PDI или сервера интеграции данных в ваших соображениях развертывания.
Вам нужно скачать mysql-connector-java-5.1.46.tar.gz
, а не последнюю версию. Класс Driver, который использует Pentaho, не включен в версии mysql-connector-java-8.xx.yy.
В дополнение к другим ответам здесь, как вы можете это сделать на 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
Приведенные выше ответы были полезны, но по неизвестным причинам они, похоже, не сработали. Поэтому, если вы уже установили 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
Прежде всего вам необходимо скачать Mysql-коннектор, который совместим с вашей версией pentaho. После этого вставьте его в папку data -gration/lib и перезапустите ваш pentaho. Проверь этоhttps://help.pentaho.com/Documentation/8.1/Setup/JDBC_Drivers_Reference#MY_SQL