小编Mic*_*lia的帖子

如何将非常大的csv文件导入现有的SQL Server表?

我有一个非常大的csv文件,有~500列,~350k行,我试图导入到现有的SQL Server表中.

我试过了BULK INSERT,我得到了 - Query executed successfully, 0 rows affected.有趣的是,BULK INSERT在几秒钟内完成了类似的操作,但是对于一个小得多的csv文件,少于50个cols,~77k行.

我也试过了bcp,我得到了 - Unexpected EOF encountered in BCP data-file. BCP copy in failed.

任务很简单 - 对纯粹的挫折感的限制应该不难.任何想法或建议?您已成功用于完成批量导入操作的任何其他工具,实用程序或类似的东西?谢谢.

- BULK INSERT

USE myDb  
BULK INSERT myTable  
FROM 'C:\Users\myFile.csv'  
WITH  
(  
FIRSTROW = 2,  
-- DATAFILETYPE = 'char',  
-- MAXERRORS = 100,  
FIELDTERMINATOR = ',',  
ROWTERMINATOR = '\n'  
);
Run Code Online (Sandbox Code Playgroud)

- bcp

bcp myDb.dbo.myTable in 'C:\Users\myFile.csv' -T -t, -c
Run Code Online (Sandbox Code Playgroud)

更新
我现在改变了方向.我已经决定加盟的csv文件,这是我的目标,首先,SQL Server之外,这样我就不必把数据上传到表现在.但是,尝试从csv文件上传(BULK INSERT或'bcp')只有1条记录(~490 cols.)会很有趣,否则会失败,看看它是否有效.

sql sql-server csv bulkinsert bcp

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

bcp ×1

bulkinsert ×1

csv ×1

sql ×1

sql-server ×1