【Kettle】kettle连接MySQL数据库连接不上解决方案汇总

诗林  高级会员 | 前天 02:45 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 226|帖子 226|积分 678



前言

近期项目上经常用到ETL(数据抽取转换加载),就想到了之前用过的kettle工具,下班回家想着再玩玩这个工具吧,结果在连接MySQL时,遇到了各种题目,就随手整理记录一下。以是今天晚上的主题是:在使用kettle ETL工具创建MySql DB连接时,由于MySQL驱动的版本原因,连接MySQL后,一直测试不通过,如下为具体解决方案
一、驱动安装方法

1、下载需要连接数据库的jar包驱动(注意版本)(MySQL驱动包下载地点)
2、将jar包驱动放到目录D:\ProgramFiles\kettle\data-integration\lib
3、重启kettle即可
二、错误形貌

1、MySQL jdbc jar包版本不对或缺少jdbc jar包

   错误连接数据库 [208mysql] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
  Driver class 'com.mysql.cj.jdbc.Driver' could not be found, make sure the 'Generic database' driver (jar file) is installed.
com.mysql.cj.jdbc.Driver
  阐明:官方支持的jar包是MySQL-JDBC-5.1.jar,但是直接使用后,会出现如下第二种错误
  2、MySQL数据库版本高于MySQL jdbc jar包

   Unknown initial character set index '255' received from server. Initial clie
  三、kettle支持的MySQL jdbc jar包

从官网可以看到,官方支持的是MySQL-JDBC-5.1.jar
阐明:以是如果使用了MySQL-JDBC-5.1.jar包,但是MySQL数据库版本高于此包的版本就说出现上述第一个题目
结论:由于目前MySQL安装包基本都高于此版本,以是改方案无法使用

四、解决方案一

   根据上述形貌可以看出,目前无法使用官方支持的jar包(MySQL-JDBC-5.1.jar),只能使用与MySQL版本同等或高于MySQL版本的jar包,如mysql-connector-j-8.2.0.jar
  1、将mysql-connector-j-8.2.0.jar放置lib目录下,如下图

2、如下图配置,选择Generic database
   自界说连接url:jdbc:mysql://localhost:3306/db01?useUnicode=true&characterEncoding=utf8
  自界说驱动类名称:com.mysql.cj.jdbc.Driver
   如下表格为自界说驱动类名称对照表
版本driver-class5.1.47以前org.git.mm.mysql.Driver6以前com.mysql.jdbc.Driver6以后com.mysql.cj.jdbc.Driver

3、验证
配置完成后,点击测试即可

 五、解决方案二

1、把官方支持的jar包以及高版本jar包同时放到lib目录下

 2、如下图,选择MySQL范例,并按照如下设置

 3、测试

六、总结

如上是通过kettle连接MySQL时遇到的各种情况,如有错漏请大伙儿实时指出哈

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

诗林

高级会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表