FlinkCDC全量没问题,增量报错fileisnotavalidfieldname
源端oradle和目标mysql库都没有fle字段:
Causedby:com.ververicadc.connectrs.shaded.rgapache.kafkaonnect.rrs.DataExceptin:fleisnotavalidfed
name
这个问题可能是由于Flink CDC在解析Oracle数据库中的数据时遇到了错误。在Oracle数据库中,字段名是区分大小写的,所以如果存在大写字母的字段名,那么在处理数据时需要特别注意。
另外,Flink CDC在处理数据时,会将字段名转换为小写,这可能也会导致一些问题。例如,如果你的表中有字段名为"ID",那么Flink CDC会将其转换为"id",如果在目标数据库中存在名为"id"的字段,那么可能会导致数据写入错误。
为了解决这个问题,你可以尝试以下方法:
在源数据库中,将所有字段名转换为全小写。这可以通过编写一个存储过程来实现,或者使用第三方工具。
在Flink CDC的配置文件中,添加一个映射关系,将源数据库中的字段名映射为目标数据库中的字段名。例如,如果你的源数据库中有字段名为"ID",而目标数据库中有字段名为"user_id",那么你可以添加以下配置:
"column.mapping": [
{
"from": "ID",
"to": "user_id"
}
]
希望这些信息对你有所帮助!