首页 > 数据库 >kettle 8.3 连接mysql8.0.30 的入坑体验

kettle 8.3 连接mysql8.0.30 的入坑体验

时间:2022-09-29 14:23:24浏览次数:77  
标签:8.3 kettle mysql gjt 30 jdbc MySQL org

  写这个东西主要是想吐槽为主,真的无语了。

  kettle是java写的 java 版权是 oracle 的。 mysql 是 Oracle 的。

     吐槽:

  一般来说,在kettle中新建mysql连接时,都选择Native(JDBC)方法,这种方法虽然快捷,但是不能指定驱动类型。

  kettle 默认的mysql驱动org.gjt.mm.mysql.Driver。而mysql 8.0以上connector已经不再支持这个包名。也就是说没有org.gjt.mm.mysql下的路径了。

   所以在选择JDBC 方法来作mysql 连接的时候就会出现 报错 连接错误 org.gjt.mm.mysql.Driver 没找到

        

 

 

       那么怎么办呢?

       首先我们要确认我们 kettle/lib 下要有 驱动包mysql-connector-java-XXX XXX代表版本号

  没有的话可以去下载一个 :

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

  这个时候你要是下载对应版本的你就会发现没有org.gjt.mm.mysql

 

 

  因为mysql 8之后的版本都是com.mysql.cj.jdbc.Driver 这个了

 

 

 

  下边这个是 5.1.46版本的也就是有org路径的演示

 

 

   到这里一些东西就很清楚了。

  所以解决方法如下:

  方法一(我就是头铁):

  头铁的我就是用 Oracle那套,那没问题。 你在kettle/lib 下用 有org.gjt.mm.mysql 驱动的不就行了嘛,所以我 将MySQL  5.1.46的驱动 下载到 kettle/lib 下。将之前的连接配置删除 具体应该是 c盘的user 下有个 .kettle 的配置文件按照自己的来哈

 

  重启启动spoon.bat 选择MySQL JDBC .

 

 

 

 

  没错它成功了。

  没错它是没问题了,但是我们是mysql 8哎,强迫症的我就又开始了新的操作。

  方法二(我暂时屈服了):

  我在网站上下载了对应版本的 mysql-connector-java-8.0.30 ,那问题出现了,如果我选JDBC 肯定不行了,它默认是 org.gjt.mm.mysql,这个8.0的jar包没有啊!!!

  所以我们选择另外一种连接方式 JNDI

  这种方式呢我们在界面上只要配置名字就可以了,实际的操作其实需要手动配置的

  找到kettle 安装位置的:Kettle\simple-jndi\下边有个 jdbc.properties 配置文件

 

  我们打开它,将 MySQL的配置加上,其中 红框的位置注意下

 

 

 
 

#mysql的的配置
MYSQL8_DB/type=javax.sql.DataSource
MYSQL8_DB/driver=com.mysql.cj.jdbc.Driver
MYSQL8_DB/url=jdbc:mysql://localhost:3306/kettle?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT 
MYSQL8_DB/user=kettle
MYSQL8_DB/password=kettle

  根据自己的数据库配置来哈

  界面就简单了,只要注意下名字跟 jdbc 中的那个名字一致就可以了。

 

 

  这样就成功了。

  方法三:

  这个方法怎么说呢,感觉有点多余。除非你有特殊需求。如果你是第一次创建连接还是用 方法二,再不济用方法一,因为这个方法没法在MySQL的源数据库中创建kettle的元数据表,就是R_ 等等表

  这个就是用通用数据库  Generic database 

  注意是自己的库

      自定义连接URL :

  jdbc:mysql://localhost:3306/kettle?useUnicode=true&characterEncoding=UTF-    8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL

  自定义驱动类:

     (MySQL8 跟MySQL 5 版本不同 驱动类 不同,下面这个适用于MySQL 8 )

   com.mysql.cj.jdbc.Driver

 

  如果你是第一次的话,你用SpoonConsole.bat 运行的时候就会发现 提示你

  :此数据库类型不支持作为存储库

 

 

   怎么说呢感觉有了方法二之后这个就有点鸡肋了,但也写出来吧。

  好了这三种方法都是实测有效的。

  如果你要换别的,比如 MySQL 换oracle 之类的。记得把 c盘的user 下有个 .kettle 的配置文件  删除 。一般是 C:user 或者是 C:用户 再往下找 ,因为我是宏碁笔记本,所以我是 acer ,有的到这里就可以找到了。我呢是还要点开 acer 找到 .kettle 

 

标签:8.3,kettle,mysql,gjt,30,jdbc,MySQL,org
From: https://www.cnblogs.com/etllearn/p/16741410.html

相关文章

  • SUSE SSH报错:cannot read from H\203\354\030\276\001 或 EOF reading /dev/uran
    问题说明在客户那边suse12环境中安装Oracle11gRAC,在做ssh互信那一步时报错无法建立互信。通过查看日志文件和自己手动ssh发现报错信息如下:cannotreadfromH\203\354\030......
  • POJ3071 Football
    POJ3071Football翻译岛田小雅题目描述\(2^n\)个队伍参加一场单淘汰制足球锦标赛,它们被编号为\(1,2,…,2^n\)。每一轮比赛,未被淘汰的队伍按照升序被放在一个列表里,接......
  • 300万数据导入导出优化方案,从80s优化到8s(实测)
    前景在项目开发中往往需要使用到数据的导入和导出,导入就是从Excel中导入到DB中,而导出就是从DB中查询数据然后使用POI写到Excel上。写本文的背景是因为在工作中遇到了......
  • 西门子300PLC与PC通信
    通过路由器把电脑和PLC进行连接起来,使用博途V16进行下载硬件配置。确保能够通信后,使用wireshark进行抓包分析。西门子PLC和电脑通信最主要是使用S7协议。但是在这之前会有......
  • Kettle踩坑
    1、打开Kattle没出现连接按钮   删除本地C盘个人文档下面的.Kattle文件2、保存转换出现UTF-8错误   修改spoon.bat文件:if"%PENTAHO_DI_JAVA_OPTIONS%"==""......
  • java学习笔记30
    java面向对象什么是面向对象java的核心思想就是面向对象编程定义面向对象编程(oop)面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据抽象:把很多个共同点......
  • EG3033,3NMOS+3PMOS三相半桥驱动芯片
    1. 特性  三相 P/NMOS 管栅极驱动  电源电压输入范围:6V-36V  适应 3V-30V 输入电压  具有 VCC 欠压保护  内置 5V/50mA 输出 LDO  内建死区控制电路......
  • CF1730B Meeting on the Line
    题目链接https://codeforces.com/contest/1730/problem/B题意简述\(x\)轴上有\(n\)个人,他们的位置分别是\(x_i\),现在他们想要聚会,需要找一个位置(可以为小数),......
  • 想做好数字化转型,首先要了解这些!(附530页案例报告)
    数字化时代的来临,让企业认识到“数字化”或许能成为突破发展瓶颈,实现持续增长,甚至重塑商业模式,实现裂变增长的契机。但数字化转型不是单纯的技术问题,而是不同规模、不同行业......
  • 30. Substring with Concatenation of All Words
    Hard544928FavoriteShareYouaregivenastring, s,andalistofwords, words,thatareallofthesamelength.Findallstartingindicesofsubstring(s)in s......