为什么ACCEPTINVCHARS不在这里工作?

时间:2017-04-08 17:03:34

标签: amazon-redshift

我在尝试将数据加载到Redshift时遇到加载错误。我的错误是:

Missing newline: Unexpected character 0x24 found at location nnn 

我使用此命令包含ACCEPTINVCHARS选项,并且相关列定义为VARCHAR(80)

copy <dest_tbl> from <S3 source> 
CREDENTIALS <my_credentials>  IGNOREHEADER 1 ENCODING UTF8 
IGNOREBLANKLINES NULL AS '\\N' 
EMPTYASNULL BLANKSASNULL gzip ACCEPTINVCHARS timeformat 'auto' 
dateformat 'auto' MAXERROR 1 compupdate on;

错误在vi

中看起来像这样

Unexpected chars - vi

八进制转储如下所示: Unexpected chars - octal

我不理解为什么这会失败,因为ACCEPTINVCHARS documentation at Amazon任何人都可以提出解决方案或解决方法吗?换句话说,我需要做些什么才能确保Redshift在此字段中接受此字符串?

1 个答案:

答案 0 :(得分:4)

八进制转储显示它们是空值(NUL),它们被redshift copy命令视为行终止符。

使用NULL AS&#39; \ 0&#39;而是默认&#39; \ N&#39;,