以前一直在用多数据源写代码做数据同步,感觉很麻烦而且没必要重复造轮子
工具神马的它不香吗?

经过一番请教,Kettle这个轻巧开源免费的工具被人介绍给了我

kettle需要你电脑上有java(jdk8)环境

1.首先下载Kettle,解压后双击启动

kettle mysql 切换dm数据库 kettle同步数据库_sql

需要注意的是:连接数据库需要你在lib文件夹下面把数据库的驱动放进去

mysql版本要5点几的,要不然报错找不到类文件

2.启动后我们连接数据库,我连接的是mysql和sqlServer数据库

kettle mysql 切换dm数据库 kettle同步数据库_mysql_02

kettle mysql 切换dm数据库 kettle同步数据库_sql_03

输入数据库信息点击测试看是否连接成功

3.连接成功以后,我们右键单击数据库,将其设置为共享数据库

4:接下来我要将mysql的一张表的数据导入到sqlServer中

4.1:我们先建一个表输入,将mysql的表数据写进去

kettle mysql 切换dm数据库 kettle同步数据库_字段类型_04


在表输入中可以自定义sql语句,查出来你想要的字段

kettle mysql 切换dm数据库 kettle同步数据库_sql_05


两个表之间如果字段类型不同还可以转换字段类型

kettle mysql 切换dm数据库 kettle同步数据库_字段类型_06

kettle mysql 切换dm数据库 kettle同步数据库_mysql_07


这里可以将mysql的字段类型改变以适应sqlserver的字段类型,还可以给字段起别名

映射好了之后我们建立一个表输出将数据输出到sqlServer

kettle mysql 切换dm数据库 kettle同步数据库_sql_08


kettle mysql 切换dm数据库 kettle同步数据库_mysql_09


表输出的作用就是将表的数据导入到另一张表(如果重复输出,表中唯一索引肯定会报错)

还有另一种方式,我们可以选择插入/更新 这样的话唯一值一样会被更新,不一样会被插入

kettle mysql 切换dm数据库 kettle同步数据库_mysql_10

kettle mysql 切换dm数据库 kettle同步数据库_字段类型_11

最后点击执行

kettle mysql 切换dm数据库 kettle同步数据库_mysql_12

数据转移成功

kettle还可以设置时间,循环调用转换,这个接下来在研究