Java教程

kettle 跨数据库全量同步多表数据

本文主要是介绍kettle 跨数据库全量同步多表数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、需求背景

现有数据库ORA(SOURCE_TABLE), ORA2(TARGET_TABLE);ORA里有EMP、DEPT表,ORA里有EMP1、DEPT1表;现需要将ORA的表全部同步到ORA2的表中。

如图,该表记录了源表和目标表的表名(需要事前准备好)

 

 

二、 总体路径

大job的路径

小job的路径(循环同步数据)

 

1、先从excel表获取源表和目标表的表名 (转换)

2、然后再循环同步每个表的数据(大JOB里嵌套的小JOB)

三、步骤

1、excel表输入——获取表名

 

2、复制记录到结果

循环同步数据.job

3-1、新增名为“1-输入表名并设置变量”的转换 ,在转换中,新建从结果获取记录、设置变量

注意:设置变量一定要单独在一个转换中才生效

 

 3-2、新增名为“2-同步数据”的转换 ,在转换中,新建表输入、表输出

注意:1、选好不同的数据库;2、表输入的表需要填写变量名${SOURCE_TABLE},并在 替换SQL语句里的变量 打钩;3、表输出的目标表同样是填写变量名${TAREGT_TABLE}

 

 3-3、新增名为“3-同步日志”的转换 ,在转换中,新建“执行SQL脚本”

注意:勾选“变量替换”;sql插入语句最后要写 commit;

 

 4、最后最后!!记得在 循环同步表数据.job里勾选 “执行每一个输入行”

四、 结果

同步日志的更新记录

 EMP1表同步结果

  DEPT1表同步结果

         

 

 

这篇关于kettle 跨数据库全量同步多表数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!