0
点赞
收藏
分享

微信扫一扫

Kettle入门(七)

狗啃月亮_Rachel 2022-02-28 阅读 48
etlmysqljava

遇到的问题与解决方案

问题集锦

链接mysql时提示jar包找不到

  • 1.需要下载mysql-connector-java.jar包

  • 2.因为kettle默认使用的org.gjt.mm.mysql.Driver驱动,但是mysql5以上的版本次驱动已改名,故需要下载5.1.49版的jar包

    • 通过这种方式可能会导致java脚本有问题
  • 3.若要使用8.0以上版本的驱动,需要在kettle目录下simple-jndi中的jdbc.properties文件中新增jndi配置

    • 在其中添加如下内容
    • Myslq8_DB/type=javax.sql.DataSource
      Myslq8_DB/driver=com.mysql.cj.jdbc.Driver
      Myslq8_DB/url=jdbc:mysql://db_ip:3306/db_name?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=Asia/Shanghai
      Myslq8_DB/user=db_user
      Myslq8_DB/password=db_password
  • 4.也可以使用Generic database的方式来链接

    • 1.链接类型选择Generic database

    • 2.自定义链接URL填写

      • jdbc:mysql://localhost:3306/association_cma_cmda?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL
    • 3.自定义驱动类名称填写

      • com.mysql.cj.jdbc.Driver

输出时数值类型字段后面带小数点和0

  • 1.在输出步骤(step)的属性面板中打开【字段】tab
  • 2.点击【获取字段】
  • 3.获取到上一步骤(step)的字段后,将类型为Integer的字段【格式】设为【0】就可以去掉小数点和小数了;或者点击【最小宽度】会默认设为【0】

从其他数据源导入mysql时中文全为问号

  • 1.打开目标【数据库链接】
  • 2.打开左侧【选项】
  • 3.在右边命名参数中添加“characterEncoding”
  • 4.对应的值中添加"utf8"

【数据库连接】中不小心配置了错误的【选项】,但是删除后无效果

  • 1.在系统盘用户目录下找到.kettle
  • 2.打开shared.xml和shared.xml.backup
  • 3.把有问题的connection删除
  • 4.重启spoon
举报

相关推荐

0 条评论