2012-07-24 17 views
58

Używam Pentaho Data Integration i próbuję połączyć się z bazą danych MySQL za pośrednictwem ale kiedy mogę dostać ten błąd .....Pentaho SQL Data Integration połączenie

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 

Jeżeli użyłem SQLite jako Mój typ połączenia działa, ale żadne dane nie są zwracane, gdy go poznam. Więc moje pytanie brzmi: jak uzyskać pracę z MySQL lub uzyskać dane za pomocą SQLite?

Czy brakuje mi biblioteki lub klasy?

Odpowiedz

11

Okazuje się, że brakuje mi klasy o nazwie mysql-connector-java-5.1.2.jar, dodałem ją do tego folderu (C: \ Program Files \ pentaho \ design-tools \ data-integration \ lib) i pracowałem z połączeniem MySQL i pojawiły się moje dane i tabele.

+0

Roboczą gr8 z łyżką, ale problem na zaplanowanie pracy .Cannot znaleźć Drajwer. załączyłem sterownik w tomcat \ webapps \ pentaho \ WEB-INF \ lib ale nadal .... Każdy pomysł, w którym miejscu brakuje sterownika mysql ..? – Surya

13

Brakujący plik sterownika.

Ten błąd jest bardzo często spotykany u osób dopiero rozpoczynających korzystanie z PDI.

Sterowniki wchodzą do \ pentaho \ design-tools \ data-integration \ libext \ JDBC dla PDI. Jeśli używasz innych narzędzi w pakiecie Pentaho, może być konieczne skopiowanie sterowników do dodatkowych lokalizacji dla tych narzędzi. Dla porównania, tutaj są odpowiednie foldery dla niektórych innych narzędzi projektowych:

  • Agregacja autora: \ Pentaho \ design-tools \ agregacja-designer \ drivers
  • Edytor metadanych: \ Pentaho \ design-tools \ metadata edytor \ libext \ JDBC
  • Report Designer: \ Pentaho \ design-tools \ raport-designer \ lib \ jdbc
  • Schema Workbench: \ Pentaho \ design-tools \ schema-Workbench sterowniki \

Jeśli ta transformacja lub zadanie zostanie wykonane uruchom na innym polu, takim jak serwer testowy lub produkcyjny, nie zapomnij uwzględnić kopiowania pliku jar i ponownego uruchamiania PDI lub serwera Data Integration Server w rozważaniach dotyczących wdrażania.

116

Po prostu natknąłem się na ten sam problem podczas próby wysłania zapytania do bazy danych MySQL z Pentaho.

Błąd podczas łączenia się z bazą danych [Local MySQL DB]: org.pentaho.di.core.exception.KettleDatabaseException: Wystąpił błąd podczas próby połączenia się z bazą danych

Wyjątek podczas gdy klasa loading org.gjt .mm.mysql.Driver

Expanding znalezione przez @ user979331 roztworu wynosi:

  1. PobierzLatest MySQL Java Connector/Driver
  2. Rozpakuj plik zip (w moim przypadku było mysql-connector-java-5.1.31.zip)
  3. kopiowania.jar plik (mysql-connector-java-5.1.31-bin.jar) i pasta to w Lib folderu:

    PC: C: \ Program Files \ Pentaho \ design-tools \ data-integracja \ lib

    Mac:/Applications/integracja danych/lib

Ponownie uruchom Pentaho (Data Integration) i ponownie przetestuj połączenie MySQL.

+0

Czy wiesz, jaki jest odpowiedni folder dla serwera BI? – decal

+1

Stary, jesteś świetny !! – Stormsson

+1

Wkleiłem ostatnie połączenie pliku jar, ale błąd nadal występuje –

6

W uzupełnieniu do innych odpowiedzi tutaj, oto jak można to zrobić na Ubuntu (1404):

sudo apt-get install libmysql-java

ten będzie pobierał mysql-connector-java-5.x.x.jar do /usr/share/java/, który Wierzę również automatycznie tworzy dowiązanie symboliczne o nazwie mysql-connector-java.jar .

Następnie utwórz dowiązania w /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