我正在尝试使用以下命令将文本文件从S3复制到Redshift,但收到相同的错误。
错误: 缺少换行符:在位置177找到意外的字符0xffffffe2
从's3:// abc_def / txt_006'复制表 凭证'1234567890' DELIMITER'|' NULL AS'NULL' NULL AS'';
文本文件没有标题,字段分隔符为|
。
我尝试使用:ACCEPTINVCHARS
传递参数。
Redshift显示相同的错误
1216错误代码:输入行无效。
有人可以提供解决此问题的方法吗?
提前致谢。
答案 0 :(得分:0)
您的文件是否为UTF8格式?如果没有转换它并尝试重新加载。
答案 1 :(得分:0)
我假设文本文件的路径是正确的。您还使用某个工具生成了文本文件,并手动上传到红色
我遇到了同样的问题,问题在于空格。我建议你通过归零和修剪空格来生成文本文件。
您的查询应从{table} 中选择RTRIM(LTRIM(NULLIF({columnname},''))),..将此查询的输出生成为文本文件。
如果您使用的是SQl Server,请使用 BCP.exe 查询表格,方法是将所有列和函数传递给上面的查询
然后在S3上载txt文件后使用以下复制命令
复制{table}
来自's3:// {path} .txt'
access_key_id'{value}'
secret_access_key'{value}'{您也可以使用上面提到的凭证}
分隔符'|'
综合上
removequotes
acceptinvchars
emptyasnull
trimblanks
BLANKSASNULL
FILLRECORD
;
承诺;
这解决了我的问题。如果您正面对其他任何事情,请告诉我们。