使用DTS同步数据时出现“Cannot parse "2013-05-00 00:00:00": Value 0 for dayOfMonth must be in the range [1,31]]”报错

使用DTS同步数据时出现“Cannot parse "2013-05-00 00:00:00": Value 0 for dayOfMonth must be in the range [1,31]]”报错

更新时间:2020-10-12 09:55:08

问题描述

使用DTS同步数据时,出现类似“Cannot parse "2013-05-00 00:00:00": Value 0 for dayOfMonth must be in the range [1,31]]”报错,即出现时间、日期类型的字段有异常。

问题原因

源库数据中存在AnalyticDB MySQL不支持的非法值。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

您可以参考以下内容进行处理:

  • 如果任务处于全量初始化阶段,则将源表的值修改为合法值即可。例如,将上面的报错值改为2013-05-01 00:00:00
  • 如果任务处于增量同步阶段,则需要将这张表从同步对象中去除,将源表值修改为合法值,并将表添加到同步对象中,然后重启同步任务。
  • 如果是在整库同步的增量同步阶段报错,请提交工单处理。

适用于

  • 云原生数据仓库AnalyticDB MySQL版

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。