gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 21:06:08 25 4
gpt4 key购买 nike

我有一个非常大的 csv 文件,其中包含约 500 列、约 350k 行,我正在尝试将其导入到现有的 SQL Server 表中。

我尝试过BULK INSERT,我得到 - 查询执行成功,0 行受影响。有趣的是,BULK INSERT 在几秒钟内即可完成类似的操作,但对于较小的 csv 文件,少于 50 列,约 77k 行。

我也尝试过bcp,我得到 - BCP 数据文件中遇到意外的 EOF。 BCP 复制失败

任务很简单 - 应该不难到纯粹的挫败感。有什么想法或建议吗?您是否成功使用过任何其他工具、实用程序来完成批量导入操作或类似操作?谢谢。

-- 批量插入

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

更新
我现在改变了方向。我决定在 SQL Server 之外加入 csv 文件,这是我的目标,这样我现在就不必将数据上传到表中。但是,尝试从 csv 文件中仅上传(BULK INSERT 或“bcp”)1 条记录(约 490 列)会很有趣,否则会失败,然后看看它是否有效。

最佳答案

检查您的文件中是否存在不应存在的 EOF 字符 - BCP 告诉您该文件有问题。

Notepad++ 或许能够加载该文件供您查看和搜索。

关于sql - 如何将非常大的 csv 文件导入到现有的 SQL Server 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8328477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com