【发布时间】:2020-05-17 16:36:29
【问题描述】:
由于在数据值中发现双引号,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