文档首页/ 数据仓库服务 GaussDB(DWS)/ 故障排除/ 数据导入/导出/ 通过CDM将MySQL数据导入GaussDB(DWS)时出现字段超长,数据同步失败
更新时间:2024-07-01 GMT+08:00

通过CDM将MySQL数据导入GaussDB(DWS)时出现字段超长,数据同步失败

问题现象

MySQL 5.x版本字段长度varchar(n),用CDM同步数据到GaussDB(DWS),同样设置长度为varchar(n) ,但是会出现字段超长,数据同步失败的问题。

原因分析

  • MySQL5.0.3之前varchar(n)这里的n表示字节数。
  • MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文还是中文都可以存放200个。
  • GaussDB(DWS)的varchar(n)这里的n表示字节数。

根据字符集,字符类型如果为gbk,每个字符占用2个字节;字符类型如果为utf8,每个字符最多占用3个字节。根据转换规则,同样的字段长度,会导致GaussDB(DWS)出现字段超长的问题。

处理方法

假设MySQL字段为varchar(n),则将GaussDB(DWS)对应的字段长度设置为varchar(n*3)即可。