我正在使用批量插入将 csv 导入数据库。它是逗号分隔的 csv 文件。所有字段都没有文本限定符。
但有些字段可能有逗号作为数据的一部分。例如,地址字段值。这些值用双引号括起来。只有当字段值中包含逗号时才会出现这些双引号,否则值不会被双引号包围。因此,在某些行中,ADDRESS 值用双引号括起来,但在其他行中则不是。有没有办法在批量插入命令中指定文本限定符?
我尝试使用格式文件选项进行批量插入。
BULK INSERT Test_Imported FROM 'C:\test.csv'
WITH (FIRSTROW=0,FIELDTERMINATOR = ',',ROWTERMINATOR = '\n',FORMATFILE = 'C:\test.Fmt')
但我无法将双引号作为格式文件中的可选文本限定符提及。
PS:这个函数实际上是更大模块的一部分,它是用c#编写的。批量插入命令是从 c# 调用的。
csv 文件来自另一个自动化系统的电子邮件。我无法控制 csv 文件的格式。大约有 150 列。每个 csv 文件中平均有 12000 行。忘记指定数据库。它是 SQL Server 2005。