前言:先说一下我使用的环境和软件版本,不同的环境】版本即使相同的问题可能处理的解决方案也是不一样;网上教程太多,处理起来也很烦;

操作系统:windows10、MySQL:8.0.16  Kettle :8.2

问题描述:错误连接数据库

错误连接数据库 [本地mysql] : 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

    

初步判断:驱动和需要的连接j jira包缺失;

处理方法:网上一顿骚操作;

        提供几个比较好的地址可以查询下载对接的jira包都是免费开源;

https://mvnrepository.com/artifact/mysql/mysql-connector-java

MySQL :: Download Connector/J

可以参考

下载完jira包之后 将下载的jira包放置到安装kettle的lib目录下;

 这是我本地安装的 :D:\soft\kettle\data-integration\lib

重启 spoon.bat

 可以查看jar 包里面  是否含有drive.class 驱动  ,一般正常都会有,网上说最新的没有;

 但我下载的 是有Drive.class 驱动的;也不去深究了,可能跟时间有关系

 好了 重启完了 我们看效果 

哈哈哈哈哈  我以为成功了 没想到报错还是跟原来一模一样  ;

思绪有点乱 别慌 ;

开始替换别的版本的jia包,然后重启、重启电脑、管理员运行、检查防火墙、数据库密码 一切都是正常 ;

先喝口水冷静冷静  ;

开始苦苦寻找解决方案,突然发现kettle中有jdbc的连接 赶紧情况不对;

 于是网上重新寻觅了一下jdbc中MySQL的配置

mysql_localhost/type=javax.sql.DataSource
mysql_local/driver=com.mysql.cj.jdbc.Driver
mysql_test/url=jdbc:mysql://ip:3306/db?useUnicode=true&characterEncoding=utf-8&disableMariaDbDriver
mysql_test/user=yourname
mysql_test/password=yourpassword

开启新的操作

重新打开配置,选择 JNDI 

下面就是见证激动人心的时刻了  

终于可以了  ;

提几个注意点:

1、优先选择连接J jia包进行连接 ,但是部分版本可能缺失由于8.0的jar包没有提供org.gjt.mm.mysql.Driver.class文件,所以添加驱动之后,还需要修改kettle的配置文件data-integration/simple-jndi/jdbc.properties;

2、连接配置jdbc时需要注意一下 字符集 可能会出现乱码;

3、细心一点问题总能解决

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐