J'utilise Pentaho Data Integration et j'essaie de me connecter à ma base de données via MySQL, mais je reçois le message d'erreur suivant .....
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
Si j'ai utilisé SQLite comme type de connexion, cela fonctionne, mais aucune donnée n'est renvoyée lorsque je dois l'explorer. Ma question est donc la suivante: comment faire fonctionner MySQL ou obtenir les données avec SQLite?
Est-ce qu'il me manque une bibliothèque ou un cours?
Il me manque une classe appelée mysql-connector-Java-5.1.2.jar, je l'ai ajouté à ce dossier (C:\Program Files\pentaho\design-tools\data-integration\lib) et cela fonctionnait avec MySQL connexion et mes données et tableaux apparaissent.
Je viens de rencontrer le même problème en essayant d'interroger une base de données MySQL de Pentaho.
Erreur de connexion à la base de données [base de données MySQL locale]: org.pentaho.di.core.exception.KettleDatabaseException: une erreur s'est produite lors de la tentative de connexion à la base de données.
Exception lors du chargement de la classe org.gjt.mm.mysql.Driver
Poste étendu par @ utilisateur979331, la solution est la suivante:
copier le fichier . jar ( mysql-connector-Java-5.1. 31-bin.jar ) et coller dans votre dossier Lib :
PC: C:\Fichiers de programme\pentaho\outils de conception\intégration de données\lib
Mac: /Applications/intégration de données/lib
Redémarrez Pentaho (Intégration de données) et testez à nouveau la connexion MySQL.
Fichier de pilote manquant.
Cette erreur est très courante chez les personnes qui débutent avec PDI.
Les pilotes vont dans\pentaho\design-tools\data-integration\libext\JDBC pour PDI. Si vous utilisez d'autres outils dans la suite Pentaho, vous devrez peut-être copier les pilotes vers des emplacements supplémentaires pour ces outils. Pour référence, voici les dossiers appropriés pour certains des autres outils de conception:
Si cette transformation ou ce travail doit être exécuté sur une autre boîte, telle qu'un serveur de test ou de production, n'oubliez pas d'inclure la copie du fichier jar et le redémarrage de PDI ou du serveur d'intégration de données dans vos considérations de déploiement.
Vous devez télécharger mysql-connector-Java-5.1.46.tar.gz
, pas la dernière version. La classe Driver utilisée par Pentaho n'est pas incluse dans les versions de mysql-connector-Java-8.xx.yy.
En plus des autres réponses ici, voici comment vous pouvez le faire sur Ubuntu (14.04):
Sudo apt-get install libmysql-Java
cela téléchargera mysql-connector-Java-5.x.x.jar
à /usr/share/Java/
, qui, je crois, crée aussi automatiquement un lien symbolique nommé mysql-connector-Java.jar
.
Ensuite, créez un lien symbolique dans /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
Les réponses ci-dessus ont été utiles, mais pour des raisons inconnues, elles ne semblaient pas fonctionner. Donc, si vous avez déjà installé MySql Workbench sur votre système, au lieu de télécharger les fichiers jar et de vous battre avec la version correcte, allez simplement à
C:\Program Files (x86)\MySQL\Connector J 8.0
et copier mysql-connector-Java-8.0.12
(peu importe la version) le fichier jar situé à cet emplacement et collez-le dans C:\Program Files\pentaho\design-tools\data-integration\lib
Tout d’abord, vous devez télécharger le connecteur Mysql compatible avec votre version de Pentaho. Après cela, collez-le dans le dossier data-integration/lib et redémarrez votre pentaho. . vérifier ceci https://help.pentaho.com/Documentation/8.1/Setup/JDBC_Drivers_Reference#MY_SQL