将CSV批量导入SQL Server

时间:2013-04-18 16:25:16

标签: sql sql-server csv

我的.CSV文件包含超过1,00,000行。

我尝试了以下方法将CSV导入表“Root”

BULK INSERT  [dbo].[Root] 
FROM 'C:\Original.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)

但是有很多错误,比如检查你的终结者。

我用记事本打开了CSV。

没有终结者,\n。我发现在行的末尾有一个方框。

请帮我将此CSV导入表格。

2 个答案:

答案 0 :(得分:2)

http://msdn.microsoft.com/en-us/library/ms188609.aspx

SQL Server批量导入操作不支持逗号分隔值(CSV)文件。但是,在某些情况下,CSV文件可用作将数据批量导入SQL Server的数据文件。请注意,CSV文件的字段终止符不必是逗号。要用作批量导入的数据文件,CSV文件必须符合以下限制:

  • 数据字段从不包含字段终止符。
  • 数据字段中的所有值都没有用引号(​​“”)括起来。

注意:可能还有其他看不见的字符需要从源文件中删除。 VIM(命令“:set list”)或Notepad ++(View> Show Symbol> Show All Characters)是两种检查方法。

答案 1 :(得分:0)

如果您对Java感到满意,我已经编写了一套用于CSV操作的工具,包括导入器和导出器。该项目在Github.com上进行:

https://github.com/carlspring/csv-db-tools

进口商在这里:

https://github.com/carlspring/csv-db-tools/tree/master/csv-db-importer

有关如何使用导入程序的说明,请检查:

https://github.com/carlspring/csv-db-tools/blob/master/csv-db-importer/USAGE

您需要制作一个简单的映射文件。这里可以看到一个例子:

https://github.com/carlspring/csv-db-tools/blob/master/csv-db-importer/src/test/resources/configuration-large.xml