关键词:
金仓数据库、KingbaseFlySync,KFS,安装部署, undefined method size for nil
问题描述
部署KFS解析源端KingbaseES数据库的增量数据,数据库模式为pg模式,配置flysync.ini配置文件后,部署失败,返回报错ERROR: undefined method size for nil(KingbaseDecoderbufCheck)
问题分析
Kfs部署时,会登录到源端数据库查询相关信息,由于KingbaseES在初始化实例时有三种模式(oracle、pg、mysql),当不指定KingbaseES的类型时,Kfs默认会使用oracle模式进行查询,而由于KingbaseES的oracle模式和Pg模式系统表不同,使用oracle模式查询时查不到对应表,导致报错
解决方案
1、配置flysync.ini,添加参数property = replicator.datasource.global.connectionSpec.databaseMode=pg 配置该参数为pg,指定数据库模式为pg模式,配置为Pg后会按照pg模式的系统表查询对应信息,解决报错问题 2、执行fspm install 完成安装