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

一、需求背景

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

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

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

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

二、 总体路径

大job的路径

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

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

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

 

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

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

三、步骤

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

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

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

2、复制记录到结果

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

循环同步数据.job

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

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

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

 

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

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

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

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

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

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

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

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

 

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

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

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

四、 结果

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

同步日志的更新记录

kettle 跨数据库全量同步多表数据 EMP1表同步结果

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

  DEPT1表同步结果

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

 

 

上一篇:Android 之窗口小部件详解--App Widget


下一篇:使用grpcui测试ASP.NET core gRPC服务