我有一个CSV文件,其中一个列包含"
作为数据的一部分该文件最初在ASF中从SFTP位置复制到ADLS,在复制活动中我尝试添加引号作为Quote字符,以便我的数据看起来像(这只是一个示例,实际文件更大)
ID ^名称
“1”^“Galaxy 7”“
破坏Azure Synapse COPY INTO命令的是Galaxy 7旁边的英寸符号(“)
我甚至尝试在将CSV输出到adls的数据源中添加\作为转义字符,但没有帮助
总是得到相同的错误
由于CSV数据文件/dev/switchingdb/avi_1.txt中第2行第21列中的列值无效,大容量加载失败。
复制到命令
COPY INTO stg.cdm_stg_Switching_DB FROM 'https://prdacrdatalake.dfs.core.windows.net/adf/dev/switchingdb/avi_1.txt'
WITH (
FILE_TYPE = 'CSV'
-- ,COMPRESSION = 'gzip'
,FIELDQUOTE ='"'
,FIRSTROW =2
,FIELDTERMINATOR ='^'
,CREDENTIAL = (IDENTITY = 'Managed Identity')
)
1条答案
按热度按时间ecfdbz9o1#
您可以尝试在COPY INTO命令中使用转义符。
它将告诉COPY将反斜杠字符(
\
)视为转义字符。通过使用双反斜杠(\\
),您可以在字段中包含文字双引号("
),而不会将其解释为结束引号。