一、需求背景
现有数据库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表同步结果