​​kettle从oracle同步数据到mysql遇到的一些坑!

​​kettle从oracle同步数据到mysql遇到的一些坑!

1.kettle连不上mysql数据库

 首先可以查看是不是缺少连接mysql所需要的jar,mysql-connector-java-5.1.47-bin.jar,如果没有的话可以去官网下载,这里方法链接。https://dev.mysql.com/downloads/connector/j/,选择平台独立,选择zip存档,下载解压缩就可以看到jar包。

006fRELkly4gozqetxzs2j30q40axmxt

在放入jar之后点击测试,然后报错了。错误代码是Access denied foruser 'root'@'%' to database 'xxx'

找了答案之后发现因为是远程数据库,所以要授予权限 grant all on xxx.* to 'root'@'%' identified by 'password' with grant option,本地访问一般不会出现这个问题。

2.执行kettle的ktr文件报错,找不到数据库中的表

刚开始以为是远程的数据库错了,然后数据库中没有对应的表,检查了发现连接的数据库是正确的,然后数据库下面也有对应的表,就一头雾水。

接着发现有的流程在表输入的步骤点击预览是可以看到数据的。

006fRELkly4gozqeu2efgj30da0gfjs8

但是在执行数据同步合并的时候就找不到表了,仔细对比发现原来是表名的大小写的问题。

006fRELkly4gozqetyekkj30e0087aam

前表输入的时候查询的表名是小写的,后面同步数据的时候用了大写的,然后mysql设置了大小写敏感,就找不到表了,真坑。(ps:因为建表语句是在本地导出来的,然后本地数据库没有设置大小写敏感,所以在本地是可以的。导出的表名默认是小写的,因为orcal数据用的习惯的原因,然后在步骤中用的表名都是大写,因为本地测试可用的原因就没有多想,还是要仔细啊)。

3.执行报错Duplicate entry'172806XXX' for key 'PRIMARY'

主键重复的错误,但是查了数据库表中数据是唯一的,又是一脸蒙逼。

查找之后发现是新旧数据库源的数据不一致造成的。

这个是新的数据源的查询语句。

1.  SELECT

2.    'student'||id as id

3.  , XINGMING as xingming,

4.  (case t.leibie

5.  when '1' then '1'

6.  when '4' then '2'

7.  when '2' then '3'

8.  else ''

9.  end) leixing

10., JIEDAO_NAME as jiedao

11., SHIFOUZAIZHI as shifouzaizhi

12.FROM student t

13.where quxian_id = '66304'

14.order by id asc

这个是旧的数据源的查询语句。

1.  SELECT

2.   id

3.  , xingming

4.  , leixing

5.  , jiedao

6.  , shifouzaizhi

7.  FROM student t

8.  where leixing IN ('1','2','3')

9.  order by id asc

可以看到新的数据源的数据在leixing这一列比旧的数据源多出了null的选择。

4.mysql拿到的数据中文乱码

在数据库连接的编辑页面中选项一栏添加characterEncoding   gbk。

https://jingyan.baidu.com/article/922554467064c8851648f4ca.html

如果大家有其他的方法,或者想要知道哪方面的办公技巧,下方评论哦~

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

2022021703525891-285

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需99元,即可下载本站文章涉及的文件和软件。

文章版权声明 1、本网站名称:Excelbook
2、本站永久网址:http://www.excelbook.cn
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长王小琥进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END
分享
二维码
< <上一篇
下一篇>>