关于使用Kettle连接到数据库碰到的问题

我在使用Spoon连接数据库时踩了太多雷,特此总结

1、关于Java版本的选择

因为Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移工具),需要配置Java环境才能使用,这里我用的kettle版本是7.1,推荐使用1.8版本最为稳定,不是越新越好。可在cmd里,输入java -version查看版本(配置方法网上较多,就不再表述)
kettle6.1版本必须配套使用JDK1.7及以上版本

2、关于Kettle环境变量的配置

在系统变量中加入KETTLE_HOME ,路径为你软件所在的目录
在这里插入图片描述

3、在主对象树里右击会卡死,程序未响应

这个目前我还没有什么好的办法,没有解决
网上方法大多数都是修改内存设置,也就是把Spoon.bat中的
if “%PENTAHO_DI_JAVA_OPTIONS%”"" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" “-Xmx2048m” “-XX:MaxPermSize=256m”
改为
if “%PENTAHO_DI_JAVA_OPTIONS%”"" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" “-Xmx512m” “-XX:MaxPermSize=256m”
但是这个对于我来说没有解决问题

后来我发现如果直接打开软件在主对象树里新建右击就会卡死,但我们从左上角文件新建转换等,这个不会卡死,然后再回主对象树操作,右击就不会存在程序未响应,

4、错误连接数据库 [MySql-1] :org.pentaho.di.core.exception.KettleDatabaseException:Erroroccured while trying to connect to the database

在这里插入图片描述
在这里插入图片描述
原因:
(版本错误)
Error connecting to database: (using class org.gjt.mm.mysql.Driver)
java.lang.NullPointerException

(缺少数据库驱动)
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

这是因为数据库驱动版本错误或者缺少数据库驱动,首先启动MySQL服务,命令为:net start mysql
然后输入mysql -u用户名 -p密码进入MySQL,查询到当前MySQL版本,
然后去查找下载对应版本的数据库驱动包,
在这里插入图片描述
这就是数据库驱动包,然后放入Kettle安装目录中的lib文件夹下即可解决问题
在这里插入图片描述

5、kettle新建转换后无法打开DB连接,出现错误org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException无法创建数据库连接此后,得到了相同动作的更一般错误:General error in dialog。

在创建新建转换时,连接数据库遇到这个错误,这是因为Java版本的问题。使用1.8版本即可

6、出现错误Communications link failure:The last packet sent successfully to the server was 0 milliseconds ago.

Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection。这就是造成上面的异常的问题所在。
解决方法,启动mysql,然后输入mysql -u用户名 -p密码进入MySQL,再输入
show global variables like ‘wait_timeout’;
查看当前的时间
这时输入指令
1、set global wait_timeout=604800;
2、set global interactive_timeout=604800;

在这里插入图片描述
就能解决这个问题

7、如果还有其他问题,可以上此网站查询文档解决

http://www.kettle.net.cn/category/kettle

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值