雪花复制在数据值中的双引号值处失败

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

COPY INTO失败,因为在数据值中找到了双引号。C周围的两个双引号导致失败-> NE 845“ C” Street。

确切的错误消息是:

找到字符'H'代替字段定界符'|〜'文件'@〜/ FolderX / datafile.dat.gz',第1行,字符107行274598,列“ MY_TABLE” [“ BADCOLUMN”:20]如果您希望在遇到错误,请使用其他值,例如“ SKIP_FILE”或ON_ERROR选项的'CONTINUE'。有关加载的更多信息选项,请在SQL客户端中运行“ info loading_data”。

格式文件定义为:

CREATE FILE FORMAT "DW"."STG".FMT_FILE 
COMPRESSION = 'GZIP' 
FIELD_DELIMITER = '|~' 
RECORD_DELIMITER = '\n' 
SKIP_HEADER = 0 
FIELD_OPTIONALLY_ENCLOSED_BY = '\042' 
TRIM_SPACE = TRUE 
ERROR_ON_COLUMN_COUNT_MISMATCH = FALSE 
ESCAPE = '#' 
ESCAPE_UNENCLOSED_FIELD = 'NONE' 
DATE_FORMAT = 'AUTO' 
TIMESTAMP_FORMAT = 'AUTO' 
ENCODING = 'WINDOWS1253'
NULL_IF = ('\\N');

为什么当数据为:时,在任何值内是否存在双引号,为什么呢?

123|~NE 845 "C" Street|~PULLMAN

在给定格式文件的定义的情况下,无需在任何字符串中添加转义符。此故障似乎是一个错误。

load snowflake-cloud-data-platform
1个回答
1
投票

这不是错误。您已经明确要求Snowflake在使用此语句FIELD_OPTIONALLY_ENCLOSED_BY = '\042'时将双引号识别为将值包含在文件中的一种方式。如果从文件格式中删除该错误(或更改为NONE),则不应收到所收到的错误。不过,雪花的行为符合预期。

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