kettle mysql nodata_初次使用kettle连接mysql时遇到的问题

本人使用的版本为kettle7.1

1、DB连接打不开,双击报错空指针

java.lang.NullPointerException

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:112)

at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:485)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:472)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3073)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3043)

at org.pentaho.di.ui.spoon.Spoon.access$2300(Spoon.java:361)

at org.pentaho.di.ui.spoon.Spoon$26.widgetDefaultSelected(Spoon.java:6184)

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:1366)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

解决方法:之前JDK版本为11,把JDK 版本换为1.8,即可

2、DB连接可以打开,但是错误连接数据库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

错误如下:

错误连接数据库 [zsy] : org.pentaho.di.core.exception.KettleDatabaseException:

Error occurred while trying to connect to the database

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

org.pentaho.di.core.exception.KettleDatabaseException:

Error occurred while trying to connect to the database

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.normalConnect(Database.java:472)

at org.pentaho.di.core.database.Database.connect(Database.java:370)

at org.pentaho.di.core.database.Database.connect(Database.java:341)

at org.pentaho.di.core.database.Database.connect(Database.java:331)

at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)

at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2783)

at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:597)

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: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:80)

at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:47)

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:116)

at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:485)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:472)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3073)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3043)

at org.pentaho.di.ui.spoon.Spoon.access$2300(Spoon.java:361)

at org.pentaho.di.ui.spoon.Spoon$26.widgetDefaultSelected(Spoon.java:6184)

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:1366)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)

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: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:515)

at org.pentaho.di.core.database.Database.normalConnect(Database.java:456)

... 48 more

Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:490)

... 49 more

主机名 : localhost

端口 : 3306

数据库名:ceshiyong

解决方法:

下载jar包:mysql-connector-java-5.1.15-bin.jar(注意kettle的版本,不同的版本驱动不一样,如果kettle是7.1版本的请到第三条内容下载)

放到Kettle安装目录下:D:\kettle\data-integration\lib

重启Spoon.bat问题解决:

3、如果安装完驱动之后报错Unknown system variable 'query_cache_size'

错误连接数据库 [zsy] : org.pentaho.di.core.exception.KettleDatabaseException:

Error occurred while trying to connect to the database

Error connecting to database: (using class org.gjt.mm.mysql.Driver)

Unknown system variable 'query_cache_size'

org.pentaho.di.core.exception.KettleDatabaseException:

Error occurred while trying to connect to the database

Error connecting to database: (using class org.gjt.mm.mysql.Driver)

Unknown system variable 'query_cache_size'

at org.pentaho.di.core.database.Database.normalConnect(Database.java:472)

at org.pentaho.di.core.database.Database.connect(Database.java:370)

at org.pentaho.di.core.database.Database.connect(Database.java:341)

at org.pentaho.di.core.database.Database.connect(Database.java:331)

at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)

at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2783)

at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:597)

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: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:80)

at org.pentaho.di.ui.xul.KettleDialog.show(KettleDialog.java:47)

at org.pentaho.di.ui.core.database.dialog.XulDatabaseDialog.open(XulDatabaseDialog.java:116)

at org.pentaho.di.ui.core.database.dialog.DatabaseDialog.open(DatabaseDialog.java:60)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:485)

at org.pentaho.di.ui.spoon.delegates.SpoonDBDelegate.newConnection(SpoonDBDelegate.java:472)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3073)

at org.pentaho.di.ui.spoon.Spoon.doubleClickedInTree(Spoon.java:3043)

at org.pentaho.di.ui.spoon.Spoon.access$2300(Spoon.java:361)

at org.pentaho.di.ui.spoon.Spoon$26.widgetDefaultSelected(Spoon.java:6184)

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:1366)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)

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:92)

Caused by: org.pentaho.di.core.exception.KettleDatabaseException:

Error connecting to database: (using class org.gjt.mm.mysql.Driver)

Unknown system variable 'query_cache_size'

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:585)

at org.pentaho.di.core.database.Database.normalConnect(Database.java:456)

... 48 more

Caused by: java.sql.SQLException: Unknown system variable 'query_cache_size'

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2497)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2455)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1369)

at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3777)

at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3240)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2249)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2035)

at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:790)

at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:567)

... 49 more

主机名 : localhost

端口 : 3306

数据库名:xinfang

解决方法:驱动版本不一下载自己kettle版本对应的驱动版本,我的是kettle7.1 用的驱动版本为mysql-connector-java-5.1.48-bin.jar

下为下载链接

内有kettle7.1版本,Mysql驱动和Oracle驱动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值