首页 > 解决方案 > 在将 CSV 文件批量插入 SQL Server 期间忽略双引号之间的逗号

问题描述

我每天从第三方供应商处收到一定数量的 CSV 文件。他们的开发人员将字段中的值用双引号括起来。有时值包含逗号(例如:“为了纪念 John Doe,愿此捐赠......”)。即使逗号位于一组双引号内,当尝试通过批量插入命令将文件批量插入 SQL Server 时,逗号之后的所有内容都将放在下一个字段中。这不是所需的输出。

我的批量插入脚本看起来像:

        BULK INSERT dbo.Transactions_Raw_Temp
        FROM 'C:\DataDumps\FileDelivery\Transactions.csv'
        WITH (FORMATFILE = 'C:\DataDumps\Bulk_Insert\TransactionsImport.fmt', 
        BATCHSIZE = 5000, 
        ROWTERMINATOR = '\n',
        MAXERRORS = 1,
        FIRSTROW = 2);

我已要求第三方供应商改为发送管道分隔的文本文件,但他们无法满足该请求。每天的 csv 文件超过 600,000 行,并且还在不断增长,因此手动处理每个文件有点像练习。

非常感谢任何指导。

标签: sql-servercsvbulkinsertcommadouble-quotes

解决方案


推荐阅读