【NIFI】实现MySQL->ORACLE数据同步
需求
实现MySQL->ORACLE数据同步
MySQL表名:eb_merchant_admin
ORACLE表名:EB_MERCHANT_ADMIN
配置流程

与oralce->oralce的类似,如果想了解 oracle->oracle 请参考【NIFI】实现ORACLE->ORACLE数据同步
1、QueryDatabaseTable:用于读取数据
2、ConvertAvroToJSON:读取数据转换JSON
3、ConvertJSONToSQL: 转换插入语句
4、PutSQL: 执插入语句
5、ConvertJSONToSQL: 转换更新语句
6、PutSQL: 执更新语句
这里只对和ORACLE不一样的地方做出标注,
1、QueryDatabaseTable

Database Type:MySQL(当然也可以使用默认值)
4、PutSQL 插入

- 这里如果填写了
SQL Statement则使用填写的,不使用上游传递下来的INSERT INTO EB_MERCHANT_ADMIN (MERCHANT_ADMIN_ID, MER_ID, ACCOUNT, PWD, REAL_NAME, PHONE, LAST_IP, LAST_TIME, "roles", LOGIN_COUNT, "level", IS_DEL, STATUS, CREATE_TIME) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)- 之所以填写是因为,
MySQL表中存在2个字段roles,level,是ORACLE数据库的关键字- 在oracle创建字段名称时,需要用双引号括起来
如果碰到MySQL字段使用ORACLE关键字时可以这么处理
6、PutSQL 更新
和步骤4是一样的,处理方式,将ConvertJSONToSQL生成的SQL简单处理,然后填写SQL Statement
