问题标签 [bulkinsert]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
23222 浏览

sql-server - SQL Server 批量插入是事务性的吗?

如果我在 SQL Server 2000 查询分析器中运行以下查询:

在符合 OurTable 架构的 40 行文本文件上,但随后更改了最后 20 行的格式(假设最后 20 行的字段较少),我收到一个错误。但是,前 40 行已提交到表中。我调用 Bulk Insert 的方式是否使它不是事务性的,或者我是否需要做一些明确的事情来强制它在失败时回滚?

0 投票
4 回答
363 浏览

c# - 你知道 C# 的 Bulked/Batched Flows 库吗

我正在处理一个具有 peek 性能要求的项目,因此我们需要批量(批处理?)几个操作(例如将数据持久化到数据库)以提高效率。

但是,我希望我们的代码保持易于理解的流程,例如:

我在这里寻找的功能是自动让 Persist() 批量发生(并且异步进行),但对其用户的行为就好像它是同步的(用户应该阻止直到批量操作完成)。我希望实现者能够实现 Persist(ICollection)。

我研究了基于流的编程,对此我并不十分熟悉。我在这里看到了一个 C# 中的 fbp 库,并与 Microsoft 的 Workflow Foundation 进行了一些合作,但我的印象是两者都对我的需要来说太过分了。您将使用什么来实现批量流动行为?

请注意,我希望获得与我编写的代码完全相同的代码(易于理解和调试),因此涉及产量或配置以将流相互连接的解决方案不足以满足我的目的。此外,链接 不是我要寻找的 - 我不想先构建一个链然后运行它,我想要看起来好像它是一个简单流程的代码(“Do A, Do B, if C then做 D")。

0 投票
14 回答
42772 浏览

sql - 从 CSV 批量导入 SQL

我需要将一个大型 CSV 文件导入 SQL 服务器。我正在使用这个:

问题是我的所有字段都被引号(“”)包围,所以一行实际上看起来像:

我可以以某种方式批量导入它们并告诉 SQL 使用引号作为字段分隔符吗?

编辑:使用 '","' 作为分隔符的问题,如示例中所建议的那样:大多数示例所做的是,它们导入的数据包括第一列中的第一个“和最后一列中的最后一个”,然后它们去吧,把它去掉。唉,我的第一列(也是最后一列)是日期时间,不允许将“20080902”作为日期时间导入。

从我一直在阅读的内容来看,我认为 FORMATFILE 是要走的路,但是文档(包括 MSDN)非常无用。

0 投票
9 回答
2791 浏览

c# - 将数百万条记录从平面文件插入 SQL Server 的陷阱是什么?

我即将开始编写一个 Windows 窗体应用程序的旅程,该应用程序将打开一个 txt 文件,该文件以管道分隔,大小约为 230 mb。然后,此应用程序会将这些数据插入到 sql server 2005 数据库中(显然这需要迅速发生)。我在这个项目中使用 c# 3.0 和 .net 3.5。

我不是在要求该应用程序,只是在这里提供一些公共建议和潜在的陷阱建议。从我收集到的网站上,SQL 批量复制是先决条件,有什么我应该考虑的(我认为仅使用表单应用程序打开 txt 文件将是一项巨大的努力;也许将其分解为 blob 数据?)。

谢谢,如果有人需要,我会编辑问题以使其清晰。

0 投票
3 回答
5660 浏览

sql-server - 我应该使用 SSIS 还是多线程 C# 应用程序将平面文件加载到数据库中?

在 SQL Server Integration Services (SSIS) 中,可以设置与可容纳数百万条记录的平面文件的连接,并将该数据推送到 SQL DB。此外,可以通过引用和使用 Microsoft.SqlServer.Dts.Runtime 命名空间从 C# 应用程序调用此过程。

最好使用 SSIS 运行具有数百万条记录的平面文件,还是集体“你”更喜欢具有多个工作线程的 ac# 应用程序(一个用于读取行并将行添加到变量,一个用于从该变量写入数据库) ,以及管理这些线程的“母亲”类?(开发盒有两个cpu)

我看过这个数据(sql team blog),说明对于一个有一百万行的平面文件,SSIS 是最快的:

你怎么认为?

0 投票
4 回答
18460 浏览

sql - 如何在 SQL Server 2005 中插入值数组?

如何在不进行简单迭代的情况下编写 SQL 代码以插入(或更新)一个值数组(可能带有一个伴随的字段名数组,或者带有它们的矩阵)?

0 投票
6 回答
13670 浏览

c++ - 在 C++ 中创建大文件的最快方法?

在 C++ 中创建一个大约 50 - 100 MB 的平面文本文件,内容“添加的第一行”应插入文件中 400 万次

0 投票
4 回答
11741 浏览

java - 使用 IBATIS 进行 INSERTS 的最快方法

我需要使用 iBatis 在单个表 (SQL Server 2005) 中插入 20,000 行。最快的方法是什么?我已经在使用批处理模式,但它并没有太大帮助:

0 投票
10 回答
111733 浏览

.net - 使用 .NET 批量插入到 Oracle

使用 .NET 对 Oracle 进行批量插入的最快方法是什么?我需要使用 .NET 将大约 160K 记录传输到 Oracle。目前,我正在使用插入语句并执行 160K 次。大约需要 25 分钟才能完成。作为从另一个数据库(MySQL)查询的结果,源数据存储在 DataTable 中,

有没有更好的方法来做到这一点?

编辑:我目前正在使用 System.Data.OracleClient,但愿意接受使用其他提供商(ODP.NET、DevArt 等)的解决方案

0 投票
3 回答
12901 浏览

sql-server - 带或不带索引的批量插入

在评论中我读到

顺便说一句,有时删除表的索引并在批量插入操作后重新创建它们会更快。

这是真的?在什么情况下?