我正在尝试使用 SQL Server 上的 BULK INSERT 和格式文件导入 .CSV 文件。我已经创建了格式文件并为每个值设置了正确的字段终止符。格式文件已正确验证,我已成功导入一些测试数据。
但是,在引用文本中间遇到逗号时遇到问题,例如:
"SB","7Y4386429Y0351805","B5503","","Chris",1,10,"Paypal","您好抱歉延迟付款,我会尽快付款。"
(示例数据)
我已将格式文件设置为正确识别带引号和不带引号的字段,但最后一个字段中间有一个逗号,这会在导入时产生错误。
我将 FieldTerminator 设置为“,”并尝试将其完全排除在外,但不应该忽略终止符,而是使用格式文件中的终止符吗?
我不明白为什么逗号会导致该字段结束,因为该字段被引号包围。这是设计使然吗?当然应该忽略逗号,因为它与格式文件中的任何字段终止符都不匹配?
我在这里有什么选择?有问题的数据来自 Paypal,因此他们改变导出方式的可能性不大。
有任何想法吗?
如果重要的话,我在下面展示了我的格式文件的第一部分(实际文件包含 56 行)。所有 56 行都具有相同的 SQLCHAR 数据类型、相同的长度和相同的结束值。
10.0
56
1 SQLCHAR 0 0 "\"" 0 DUMMY SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 100 "\",\"" 1 CH SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 100 "\",\"" 2 TransactionID SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 0 100 "\",\"" 3 InvoiceID SQL_Latin1_General_CP1_CI_AS
5 SQLCHAR 0 100 "\",\"" 4 PayPalReferenceID SQL_Latin1_General_CP1_CI_AS
任何帮助将非常感激。
谢谢,
克里斯。