本文共 4906 字,大约阅读时间需要 16 分钟。
第一次用Kettle连接MySQL数据库时,报下面错误,
错误信息,
错误连接数据库 [mysqllocal] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the databaseDriver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.org.gjt.mm.mysql.Driverorg.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the databaseDriver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.org.gjt.mm.mysql.Driver at org.pentaho.di.core.database.Database.normalConnect(Database.java:477) at org.pentaho.di.core.database.Database.connect(Database.java:373) at org.pentaho.di.core.database.Database.connect(Database.java:344) at org.pentaho.di.core.database.Database.connect(Database.java:334) at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:83) at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestResults(DatabaseFactory.java:112) at org.pentaho.di.core.database.DatabaseMeta.testConnectionSuccess(DatabaseMeta.java:2843) at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:631) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:313) at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:157) at org.pentaho.ui.xul.impl.AbstractXulComponent.invoke(AbstractXulComponent.java:141) at org.pentaho.ui.xul.swt.tags.SwtButton.access$500(SwtButton.java:43) at org.pentaho.ui.xul.swt.tags.SwtButton$4.widgetSelected(SwtButton.java:137) at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.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.di.ui.xul.KettleDialog.show(KettleDialog.java:89) at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:56) at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:117) at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:61) at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.editConnection(SpoonDBDelegate.java:96) at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3139) at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3074) at org.pentaho.di.ui.spoon.Spoon.access$1700(Spoon.java:372) at org.pentaho.di.ui.spoon.Spoon$26.widgetDefaultSelected(Spoon.java:6335) at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) at org.eclipse.swt.widgets.Display.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:1384) at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7949) at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9331) at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:710) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)Caused by: org.pentaho.di.core.exception.KettleDatabaseException: Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.org.gjt.mm.mysql.Driver at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:520) at org.pentaho.di.core.database.Database.normalConnect(Database.java:461) ... 48 moreCaused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:495) ... 49 more主机名 : 127.0.0.1端口 : 3306数据库名:mytest
原因很简单,缺少mysql的connector jar包。然后在lib目录下引入jar即可。
引入connector jar之后,需要重启kettle,然后测试,连接成功。
转载地址:http://cqoji.baihongyu.com/