背景
公司想要將業務系統使用的數據庫由 SQL SERVER 切換到 ORACLE,因此需要將原 SQL SERVER 庫的數據同步到 ORACLE 庫中。
因為涉及的數據表有幾百張,數據約百G的級別,一張表開發一個Kettle 太過於繁瑣了,因此考慮通過配置完成數據同步。
方案:
SQLSERVER 庫切換至ORACLE庫,由於 Oracle庫的關鍵字與SQLSERVER不同, 兩庫的表名和字段名略有不同,但可以建立一一對應的映射關系。將映射關系數據維護進數據庫的表中。通過SQL語句生成查詢語句,將查詢語句以及數據同步的源表、目標表維護進另一張配置表中,Kettle讀取配置后,遍歷配置信息,使用配置信息替換同步轉換內的參數, 完成數據同步。
整體方案實現圖:
數據同步配置表構成如下:
注意 FLAG 字段是用來標識是否執行成功,取值根據需要配置即可。