实现SQL Server到MySQL的表增量同步

前序

本教程是为了实现SQLSERVER数据库表中数据增量同步到MySQL数据库,并每天定时执行一次。

注:只实现了新增与更新数据,源库中删除的数据未实现同步

1、前期准备

开始之前,请记得自行安装JDBC,安装步骤百度搜索即可

Kettle的安装,请参考我的《Kettle安装部署》教程

配置步骤

2、配置“输入”--配置源数据库

2.1、新建转换

打开Kettle软体,新建一个转换任务,“文件”-->“新建”-->“转换”,如图:

实现SQL Server到MySQL的表增量同步_第1张图片


2.2、新建“表输入”

在“核心对象”-->“输入”-->“表输入”,将“表输入”图标直接拖拽到右侧区域,如图:

实现SQL Server到MySQL的表增量同步_第2张图片


2.3、配置“表输入”

双击“表输入”图标,进入配置界面,步骤名称默认即可,数据连接就是选择你的源数据库,这里没有进行过配置,所以点击“新建”进行SQL SERVER源数据库连接配置:

实现SQL Server到MySQL的表增量同步_第3张图片


2.3.1、配置数据库连接

填写“连接名称”(随意写),“连接类型”选择MS SQL SERVER,“连接方式”默认即可,参考下图的右侧将选项填写清楚,注意数据库名称就是你想连接的库,点击“测试”按钮出现左侧窗口信息,即表示连接成功,点击“确认”即可。

实现SQL Server到MySQL的表增量同步_第4张图片


2.3.2、选择导出的表

点击“获取SQL查询语句”,在弹出的窗口中选择要进行数据传输的table,点击“确定”即可完成“表输入”配置。

实现SQL Server到MySQL的表增量同步_第5张图片


3、配置“字段选择”

3.1、新建“字段选择”

在模块化区选择“转换”-->“字段选择”,将其拖拽到右侧区域,并在“表输入”之间画一条线(按住Shift键)。

实现SQL Server到MySQL的表增量同步_第6张图片

3.2、配置字段:

双击“字段选择”图标打开配置界面

在此需要多说几句

“选择和修改窗口”:可以修改字段名称

“移除”:可以选择不需要传输数据的列,选择后将不会传输此字段里的值到目标表,我们这里选择的是TS字段,因为此字段是timestamp类型数据(时间戳)

“元数据”:在此可以对源数据表中的所有字段进行转换设置,比如类型,长度,精度,字符集等,如果想一次性将源表的所有字段均加载进来的话,点击右侧“获取改变的字段”。

配置完成之后,点击“确定”即可。

实现SQL Server到MySQL的表增量同步_第7张图片


4、配置“插入/更新”---目标数据库

4.1、新建“插入/更新”

在“输出”--“插入/更新”拖拽图标到右侧区域,并使用同样方法与“字段选择”图标画连接线


4.2、配置“插入/更新”

双击“插入/更新”图标

步骤名称选择默认,

① 新建我们需要导入的目标数据库连接,按照上面的步骤教程新建连接,在这里我就不再赘述了

② “浏览”选择需要导入数据的table

③ 在此区域内选择查询数据时依据的字段,其实也就是根据此字段来判断两个表中的数据是否是同一笔记录

④ 点击“获取和更新字段”可以在“更新字段”区加载所有字段,注意选择是否所有字段都需要更新数据,我在这里将UserID的更新状态改成了Y。

配置完点击“确定”即可。

实现SQL Server到MySQL的表增量同步_第8张图片


4.3、保存此转换

将此转换任务保存为一个文件,后续做定时任务时会使用到,并且若想开始下节的校验检测也必须进行保存动作。

实现SQL Server到MySQL的表增量同步_第9张图片


5、校验连接情况

开始前必须要先进行保存

点击“校验这个转换”按钮进行连接检测,若未出现红色报错,则表示检测成功,勾选“隐藏成功结果”可以显示出检测的所有步骤。

实现SQL Server到MySQL的表增量同步_第10张图片

有任何报错,请注意查看结果里的备注信息,处理完问题后需保存并重新执行校验检测动作,如图:

实现SQL Server到MySQL的表增量同步_第11张图片


6、开始运行转换任务

6.1、点击运行

点击“运行这个转换”,开始我们的数据增量同步任务

实现SQL Server到MySQL的表增量同步_第12张图片

如果出现任何错误,请查看“执行结果”里的“日志”,日志里一般会有准确的错误提示,一般都是些字段类型不正确、字符集不一样、或者字段长度导致的。

实现SQL Server到MySQL的表增量同步_第13张图片

最后慢慢等待着成功的到来…….


7定时任务

至此是不是觉得已经结束了,非也。。。我们还需要设定定时任务

7.1、新建作业

实现SQL Server到MySQL的表增量同步_第14张图片


7.2、部署作业

在“核心对象”中拖拽两个图标到执行区

实现SQL Server到MySQL的表增量同步_第15张图片

分别是“START”和“转换”图标,并连接起来


7.3、配置“START”

双击“START”按钮,配置定时时间等信息

勾选“重复”选项可以重复执行任务

我设定的是每天早上08:00执行所选任务

实现SQL Server到MySQL的表增量同步_第16张图片

7.4、配置转换

双击“转换”图标,根据如下图示选择上面我们保存的转换任务文件,即选择我们想重复执行的转换任务

实现SQL Server到MySQL的表增量同步_第17张图片

7.5、运行作业(Job)

点击Run按钮开始执行定时重复任务

到此为止,我们已经将所有的步骤配置完毕,恭喜你…….








你可能感兴趣的:(SQLServer,Kettle)