具有布尔列的AWS DMS问题

问题描述 投票:0回答:1

我正在尝试使用DMS启用复制,使用Aurora mySQL实例作为源,并使用Redshift实例作为目标。布尔列上的复制失败。我在mySQL实例上声明了布尔列为BIT(1)。根据文档,mySQL中的布尔列应定义为BIT:

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.DataTypes

如果我删除布尔列,它的工作原理。我还尝试将列定义为Boolean。那也行不通。

这是我得到的错误:

2018-08-26T16:59:19 [TARGET_APPLY] E:RetCode:SQL_ERROR SqlState:42804 NativeError:30消息:[Amazon] [Amazon Redshift](30)尝试执行查询时出错:[SQLState 42804]错误:列“state”的类型为boolean,但expression的类型为字符vary,HINT:您需要重写或转换表达式。 [1022502](ar_odbc_stmt.c:4428)

mysql amazon-web-services amazon-redshift amazon-rds aws-dms
1个回答
0
投票

这结果是DMS的一个错误。这仅在正在进行的复制期间发生,而不是在完全加载期间。在复制过程中,从Aurora MySql到Redshift,boolean被强制转换为Varchar,导致上面的错误。

© www.soinside.com 2019 - 2024. All rights reserved.