2013-04-18 146 views
1

我有一個.CSV文件包含超過1,00,000行。批量導入CSV到SQL Server

我曾嘗試下面的方法來導入CSV到表「根」

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

但也有像檢查終結者這麼多的錯誤。

我用記事本打開了CSV文件。

沒有終結者,\n。我在行的最後找到一個方框。

請幫我把這個CSV導入到表格中。

回答

2

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

逗號分隔值(CSV)文件不受SQL Server大容量導入操作的支持。但是,在某些情況下,CSV文件可用作將數據批量導入到SQL Server的數據文件。請注意,CSV文件的字段終止符不一定是逗號。要用作批量導入的數據文件,CSV文件必須符合以下限制:

  • 數據字段不包含字段終止符。
  • 數據字段中沒有或全部值都用引號(「」)括起來。

注意:可能還有其他不可見的字符需要從源文件中剝離。 VIM(command「:set list」)或Notepad ++(View> Show Symbol> Show All Characters)是兩種檢查方法。

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