Kettle连接MySQL8报错:Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found, make sure the ‘MySQL‘ dr

Kettle连接MySQL8报错信息:

今天,由于工作需要,我把我的MySQL5.7卸载了,然后重新安装了MySQL8.1,因为MySQL5.7这个版本里没有 REGEXP_SUBSTR(),REGEXP_INSTR()这些内置的函数。安装后,当我使用Kettle链接数据库的时候就发生异常了,然后是满世界的找,在网络上找了很多关于Driver class ‘org.gjt.mm.mysql.Driver‘ could not be found的解决办法,几乎都是说没有MySQL的驱动包,只要把MySQL8的驱动包下载后,放到Kettle的安装目录的lib目录下,然后重新打开kettle就可以了。

的确是这样,没有MySQL的驱动包是会报这个错误,于是我下载了MySQL8的驱动包并放到了Kettle的lib目录下,可是异常依旧存在。最后,终于找到了解决的办法,现在把解决的办法说道说道:

问题分析:

我以前用的MySQL版本是5.7,Kettle默认使用的MySQL的驱动的包路径org.gjt.mm.mysql.Driver,而以前的版本的MySQL的驱动包的路径是这个,所以Kettle能正常找到对应的驱动程序,顺利与数据据连接。

新版本的MySQL8的驱动与以往不同,我下载的驱动包是mysql-connector-j-8.1.0.jar,这个包的包路径是com.mysql.cj.jdbc.Driver。

解决方法:

1、先到官网或者Maven仓库去下载最新版本的mysql-connector驱动程序包。我下载的是mysql-connector-j-8.1.0.jar,针对MySQL8。

下载连接驱动包(根据Mysql版本下载):

Java 连接 MySQL 需要驱动包,MySQL驱动包官网下载地址:
https://dev.mysql.com/downloads/connector/j/

也可以到到 Maven 仓库 下载 对应版本的 MySQL 的驱动包:我是在这里下的。Maven Repository: Search/Browse/Explore (mvnrepository.com)

2、将下载的程序程序包mysql-connector-j-8.1.0.jar放到Kettle的安装目录的lib目录下;

3、在Kettle安装目录下找到simple-jndi找到jdbc.properties文件,在里面添加MyLSQL数据库的连接配置信息,如下:

MYSQL8_DB/type=javax.sql.DataSource
MYSQL8_DB/driver=com.mysql.cj.jdbc.Driver
MYSQL8_DB/url=jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
MYSQL8_DB/user=root
MYSQL8_DB/password=123456

保存,即出。

4、重新打开Kettle【spoon.bat】.新建一个数据库连接,连接方式选择“JNDI”,JNDI名称就是我在jdbc.properties配置时所使用的名称 MYSQL8_DB。

到此,点击【测试】,发现连接成功,保存连接。

神奇的事情发生了,我现在重新再建一个连接,连接方式使用Native(JDBC),发现居然也能正常连接了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值