热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

kettle8.3连接mysql8.0.30的入坑体验

写这个东西主要是想吐槽为主,真的无语了。kettle是java写的java版权是oracle的。mysql是Oracle的。   吐槽:一般来说,在kettle中新建m

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

  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 

 



推荐阅读
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 如何在php文件中添加图片?
    本文详细解答了如何在php文件中添加图片的问题,包括插入图片的代码、使用PHPword在载入模板中插入图片的方法,以及使用gd库生成不同类型的图像文件的示例。同时还介绍了如何生成一个正方形文件的步骤。希望对大家有所帮助。 ... [详细]
  • soatest新建db工具,执行sql语句的步骤和注意事项
    本文介绍了在soatest中新建db工具并执行sql语句的步骤和注意事项,包括设置数据库连接参数、使用配置文件的方法编写sql查询语句、增加oracle驱动连接jar包、运行测试用例以及查看查询结果。详细说明了每个步骤的操作和相关注意事项。 ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
author-avatar
正好忍心_702
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有