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

2024-03-24

我有一个非常大的 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 列)会很有趣,否则会失败,然后看看它是否有效。


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 创建用于存储高尔夫球成绩的可扩展数据库架构

    我正在尝试设计一个数据库来存储我所有的朋友和我的高尔夫球成绩 您可能知道 高尔夫得分由 18 洞的个人得分组成 我可以想到两种设计模式的方法 创建一个表 每个洞有一列 例如 h1 到 h18 该表具有引用其他表的 FK player id
  • Oracle中如何转义单引号? [复制]

    这个问题在这里已经有答案了 我有一列包含某些存储为文本字符串的表达式 其中包括单个引号 例如 错过的交易 包括引号 发生这种情况时如何使用 where 子句 select from table where reason missed tra
  • 获取MySql中重复行的列表

    我有一张这样的桌子 ID nachname vorname 1 john doe 2 john doe 3 jim doe 4 Michael Knight 我需要一个查询 该查询将从具有相同 nachname 和 vorname 的记录
  • 在分布式事务中手动登记后,使用 enlist=false 的连接不会关闭

    我有一个分布式事务上下文使用ServiceDomain 在其中 我打开一个 SQL 连接 其中连接字符串指定Enlist false 这样它就不是自动地被纳入交易 然后 如果我使用手动在分布式事务中登记连接EnlistDistributed
  • 使用 SQL Server 作为具有多个客户端的数据库队列

    给定一个充当队列的表 如何最好地配置表 查询 以便多个客户端同时处理队列 例如 下表指示了工作人员必须处理的命令 当worker完成后 它会将处理后的值设置为true ID COMMAND PROCESSED 1 true 2 false
  • 选择不带 FROM 但有多于一行的选择

    如何在不从现有表中进行选择的情况下生成 2 行 2 列的表 我正在寻找的是一个返回的选择语句 e g id value 1 103 2 556 Use UNION http dev mysql com doc refman 5 0 en u
  • 使用 Ruby CSV 标头转换器

    假设我有以下课程 class Buyer lt ActiveRecord Base attr accesible first name last name 以及 CSV 文件中的以下内容 First Name Last Name John
  • 尝试使用 SQL 身份验证登录失败

    我正在尝试使用 sa 用户名及其密码连接到 SQL Server 2008 在 SQL Server 日志文件中我看到以下错误 用户 sa 登录失败 原因 尝试使用 SQL 登录 认证失败 服务器配置为 Windows 身份验证 仅有的 当
  • 如何终止正在运行的 SELECT 语句

    如何通过终止会话来停止正在运行的 SELECT 语句 该命令不断根据 SELECT 语句向我提供输出 我想在其间停止它 As you keep getting pages of results I m assuming you starte
  • 将数据从 Google Drive 中的 CSV 文件导入到 Google Sheet

    我使用 SAS 每 24 小时生成两个 CSV 文件 我使用 bat 脚本将生成的 CSV 文件保存在 Google Drive 的文件夹中 CSV 文件被替换 因此文件夹中始终只有这两个文件 CSV 文件以 分隔 并且仅包含三列或四列 我
  • 如何从 SQL Server 中的存储过程检索参数列表

    使用 C 和 System Data SqlClient 有没有办法在实际执行 SQL Server 上的存储过程之前检索属于该存储过程的参数列表 我有一个 多环境 场景 其中同一数据库模式有多个版本 环境的示例可能是 开发 暂存 和 生产
  • 仅使用 SQL 中的 MAX 函数更新重复行

    我有一张这样的桌子 假设为了举例 NAME是一个唯一的标识符 NAME AGE VALUE Jack Under 65 3 Jack 66 74 5 John 66 74 7 John Over 75 9 Gill 25 35 11 Som
  • 动态/条件 SQL 连接?

    我在 MSSQL 表 TableB 中有数据 其中 dbo tableB myColumn 在特定日期后更改格式 我正在做一个简单的连接到该表 Select dbo tableB theColumnINeed from dbo tableA
  • 导致聚集索引扫描的日期参数

    我有以下查询 DECLARE StartDate DATE 2017 09 22 DECLARE EndDate DATE 2017 09 23 SELECT a col1 a col2 b col1 b col2 b col3 a col
  • 读取多个 CSV 文件,并在文件开头跳过不同行数

    我必须阅读大约 300 个单独的 CSV 我已经成功使用循环和结构化 CSV 名称来自动化该过程 然而 每个 CSV 在开头都有 14 17 行垃圾 并且随机变化 因此在 read table 命令中硬编码 skip 参数将不起作用 每个
  • 在 Oracle SQL 中执行 MERGE 时,如何更新 SOURCE 中不匹配的行?

    我有一个main数据库和一个report数据库 我需要同步一个表main into report 但是 当项目在main数据库 我只想设置一个IsDeleted标志在report数据库 执行此操作的优雅方法是什么 我目前正在使用 MERGE
  • 在 C# 中多次使用单个参数的更好方法

    我刚开始使用准备好的语句从数据库查询数据 并且在实现 C 参数 特别是 OracleParameters 时遇到问题 假设我有以下 SQL string sql select from table1 t1 table2 t2 where t
  • SQL Not Empty 代替 Not NULL

    我正在使用 postgreSQL 我有一个专栏 NOT NULL 但是 当我想插入带有空字符串的行时 如下所示 它不会给我错误并接受 我如何检查插入值应该是not empty 既不为空也不为空 PS 我的专栏定义为 ads characte
  • 使用 OleDbCommand / OleDbDataAdapter 读取 CSV 文件

    我不明白为什么 但是当我使用 OleDbDataAdapter 或 OleDbCommand 读取 CSV 文件时 在这两种情况下 生成的数据结构良好 它识别文件头中的列 但行数据都是空字符串 我之前已经成功进行过多次 CSV 处理 因此我
  • csv格式是常规语法还是上下文无关语法?

    我目前正在编写一个 csv 解析器 csv 格式的定义由下式给出RFC4180 https www rfc editor org rfc rfc4180这是由 ABNF 定义的 所以csv的定义绝对是上下文无关语法 不过我想知道csv是否是

随机推荐

  • Clang-Tidy 找不到我的头文件

    这里是 clang 和 clang tidy 的新手 我有一个具有这种结构的项目 project build cmake component1 src someFile cpp someFile2 cpp someFile hpp some
  • grunt-terser 给出语法错误:“VARIABLE_NAME”被重新声明

    我在用着咕噜语 https www npmjs com package grunt terser缩小我的 es6 文件 我有两个文件 文件1 js 文件2 js 在这两个文件中 我需要一个具有相同变量名称的模块 如下所示 const VAR
  • 如何使用group-concat mysql创建json格式?

    如何使用group concat mysql创建json格式 我使用MySQL 示例1 table1 email name phone email protected cdn cgi l email protection Ben 65553
  • OS X 崩溃日志符号

    我无法使用 XCode 4 6 来符号化来自测试人员和用户的 OS X 不是 iOS 崩溃日志 崩溃日志无法拖到管理器中 并且管理器不会显示 Library Logs DiagnosticReports 中的任何崩溃日志 尽管某些日志位于该
  • Linux/Windows 中的 C/C++ 内存使用 API

    我想获取每个进程和系统范围的内存使用信息 在 Windows 中 这非常简单 GetProcessMemoryInfo 和 GlobalMemoryStatusEx 可以非常轻松地完成这些工作 例如 GetProcessMemoryInfo
  • 有没有人找到一种方法来合并 Xcode 项目或 Core Data 模型文件中的更改?

    有没有办法使用 VCS 我正在使用 git 并让它与 Xcode 文件合并 例如 如果我的同事向项目添加了一个新组 当我合并他的更改时 我会合并该组吗 或者 如果他向核心数据实体添加一个属性 我会在我的核心数据模型中获得该属性吗 核心数据和
  • 无法在 Android Studio 中解析符号 HttpGet、HttpClient、HttpResponce

    我只是复制所有的jar文件Http but Android Studio无法导入所有这些 jar 文件 它给出一个错误 Cannot resolve symbol HttpGet HttpClient HttpResponse My Act
  • 浮点精度显示(Android)

    我正在尝试制作一个程序 它接受一些用户输入 运行一些计算并输出答案 我的问题是 这个答案有时会长很多小数位 这会导致一些美观和布局问题 我只需要显示小数点后 4 位的数据 是否有办法在输出时限制这些数字的精度 数字存储在浮点数中 我正在为
  • 如何创建可滚动的结果集?

    我得到了这个简单的代码来从 MSSQL Server 2008 检索记录集 由于我设置了 ResultSet TYPE SCROLL INSENSITVE 该记录集必须是可滚动的 与 Javadocs 中的示例相同 String qry S
  • 带有私有标识符参数的符号

    我想创建一个与私有 MethodMirror 的简单名称相同的符号 但是 Symbol 的文档指出 new Symbol 的参数必须是有效的公共标识符 如果我尝试创建一个const Symbol privateIdentifier dart
  • Python 浮点除法不精确[重复]

    这个问题在这里已经有答案了 可能的重复 Python float str 浮动怪异 https stackoverflow com questions 1778368 python float str float weirdness Pyt
  • Redis CLI 未通过 Laravel 显示最近存储的密钥

    我正在尝试使用缓存我的结果redis in Laravel通过做这个 result Cache remember orders cache 10 function use orders return orders return result
  • 我有一个 contentEditable="true" 的 div,需要对输入的数字进行着色

    这是我的代码 非常适合为可编辑 div 中的数字着色 但光标将转到 div 的开头 当我按键盘箭头按钮遍历字符串时 以及当我单击 home 和 end 按钮 光标应该按预期移动 jQuery document ready function
  • 具有数据成员语法的零成本属性

    我 重新 发明了这种使用数据成员语法实现零成本属性的方法 我的意思是用户可以写 some struct some member var var some struct some member 并且这些成员访问以零开销重定向到成员函数 虽然初
  • 对话框中标题分隔符的样式

    我想知道如何摆脱 或更改颜色 对话框中的标题分隔符 它是蜂窝设备上显示的对话框标题下方的一条蓝线 我猜这是 SDK 中的相关布局 但由于没有样式属性 我不知道如何设置它的样式 如果我尝试使用 findViewById 则没有 android
  • 使用 HTTPoison 初始化模块属性

    我正在尝试像这样初始化模块属性 response HTTPoison get url ok response Poison decode response body attr response 我以前用一个文件做过这样的事情 externa
  • 转换给定时区的日期/时间 - java

    我想将此 GMT 时间戳转换为 GMT 13 2011 10 06 03 35 05 我尝试了大约 100 种不同的 DateFormat TimeZone Date GregorianCalendar 等组合来尝试完成这个非常基本的任务
  • Android提供的onKey()、OnKeyDown()和dispatchKeyEvent()方法之间的区别?

    Android提供的onKey OnKeyDown 和dispatchKeyEvent 方法有什么区别 我想知道这些都可以在何时何地使用 请对此进行一些说明 追踪源代码5 1 视图类的源码 http grepcode com file re
  • EJB @Schedule 等待方法完成

    我想编写一个每分钟执行一次的后台作业 EJB 3 1 为此 我使用以下注释 Schedule minute 1 hour 工作正常 但是 有时该作业可能需要一分钟以上的时间 在这种情况下 计时器仍然会被触发 从而导致线程问题 如果当前执行未
  • 如何将非常大的 csv 文件导入到现有的 SQL Server 表中?

    我有一个非常大的 csv 文件 其中包含约 500 列 约 350k 行 我试图将其导入到现有的 SQL Server 表中 我努力了BULK INSERT 我得到 Query executed successfully 0 rows af