我有一个非常大的 csv 文件,其中包含约 500 列、约 350k 行,我试图将其导入到现有的 SQL Server 表中。
我努力了BULK INSERT
,我得到-Query executed successfully, 0 rows affected
。有趣的是,BULK INSERT
只需几秒钟的时间,即可完成类似的操作,但 csv 文件要小得多,少于 50 列,约 77k 行。
我也尝试过bcp
,我得到-Unexpected EOF encountered in BCP data-file. BCP copy in failed
.
任务很简单——应该不难到纯粹的挫败感。有什么想法或建议吗?您是否成功使用过任何其他工具、实用程序来完成批量导入操作或类似操作?谢谢。
-- 批量插入
USE myDb
BULK INSERT myTable
FROM 'C:\Users\myFile.csv'
WITH
(
FIRSTROW = 2,
-- DATAFILETYPE = 'char',
-- MAXERRORS = 100,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
);
-- bcp
bcp myDb.dbo.myTable in 'C:\Users\myFile.csv' -T -t, -c
UPDATE
我现在改变了方向。我决定在 SQL Server 之外加入 csv 文件,这是我的目标,这样我现在就不必将数据上传到表中。然而,尝试从 csv 文件中仅上传(BULK INSERT 或“bcp”)1 条记录(约 490 列)会很有趣,否则会失败,然后看看它是否有效。