我用下面的MS SQL查询导入包含逗号分隔值的文本文件到DB:完美的使用BULK INSERT查询
BULK INSERT logs
FROM 'E:\Sample.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
不幸的是,在我的CSV文本文件中的一个字段包含这样的信息: “UDP端口中的问题(234,137)”,其中包含逗号。因此,DB将逗号前的值作为一个字段,并将逗号后的值插入下一个字段(逻辑上不正确)。结果,后者字段的合法值在插入表格时被丢弃。
希望我的问题得到最好的解释。
任何解决方案来克服这个问题,并将整个问题:“在UDP端口(234,137)问题”存储到一个单一的领域?
如何获取csv文件? – 2013-04-07 14:14:48
您的csv文件中的值是否一致引用?如果没有,那么你可能有[这个问题](http://stackoverflow.com/questions/782353/sql-server-bulk-insert-of-csv-file-with-inconsistent-引用)。 SQL Server似乎期望文件中的所有值都被引用,或者没有。出于这个原因,我更喜欢用一种具有良好csv支持的语言(Perl,Python,不管)来预处理文件,并且为导入生成一个'clean'csv文件,或者直接生成一个'INSERT'脚本。 – Pondlife 2013-04-07 15:53:42