问题标签 [sqlbulkcopy]

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 投票
1 回答
4005 浏览

enterprise-library - 如何使 SqlBulkCopy 与 MS 企业库一起使用?

我有一些使用 SqlBulkCopy 的代码。现在我们正在重构我们的代码以使用企业库数据库函数而不是标准函数。问题是如何实例化 SqlBulkCopy?它接受SqlConnection,而我只有DbConnection。

0 投票
2 回答
1533 浏览

memory - sqlbulkcopy 内存。管理

我正在使用 SQLBULKCOPY 将一些数据表复制到数据库表中,但是,因为我正在复制的文件的大小有时会超过 600mb,所以我的内存一直在用完。

我希望在将表提交到数据库之前得到一些关于管理表大小的建议,这样我就可以释放一些内存来继续编写。

这是我的代码的一些示例(为简单起见,删除了一些列和行)


我在让 SQLBulkCopy 工作时仍然遇到问题,我意识到在将每条记录输入数据库之前我需要对每条记录做更多的工作,所以我开发了一个简单的 LinQ to Sql 方法来逐个记录更新,所以我可以编辑其他信息并在运行时创建更多记录信息,

问题:这种方法运行速度很慢(即使在 Core i3 机器上),关于如何加速它的任何想法(线程?)——在单个处理器内核上,1gb 内存它崩溃或有时需要 6-8 小时写入与需要一些时间的 SQLBulkCopy 相同数量的数据。它确实可以更好地管理内存。

使用辅助方法:

0 投票
3 回答
389 浏览

sql - 如何解决此存储过程问题

我有 2 张桌子。以下只是这些表的精简版。

现在这些表彼此之间有关系。

设想

用户 1 来到我的站点并执行了一些操作(在这种情况下,将行添加到表 A)。所以我使用 SqlBulkCopy 表 A 中的所有这些数据。

但是,我还需要将数据添加到表 B,但我不知道表 A 中新创建的 Id,因为 SQLBulkCopy 不会返回这些。

所以我正在考虑有一个存储过程来查找表 B 中不存在的所有 id,然后将它们插入。

然而,这带来了一个问题。用户可以随时从 TableB 中删除某些内容,因此如果用户删除了一行,然后另一个用户出现,或者甚至同一个用户出现并对表 A 执行某些操作,我的存储过程将在表 B 中恢复该删除的行。因为它仍然存在于表 A 但不存在于表 B 中,因此满足存储过程条件。

那么有没有更好的方法来处理使用批量插入时需要更新的两个表?

0 投票
1 回答
225 浏览

sql-server-2008 - XSD:表 y 中的 x 列类型太小而无法容纳数据

我正在根据我的 xml 中的列生成一个 XSD 文件。我给他们所有的类型,“xs:string”。然后我尝试使用带有 SQLbulk 导入的 .NET 将文件导入我的数据库,但对于某些字段来说太小了。我收到消息“表 y 中列 x 的类型太小而无法容纳数据”

我应该为大量文本使用什么类型(以便使用 sqlbulk.execute 在数据库中生成文本字段)?当前创建一个nvarchar(1000)字段,有些字段的数据比较大

0 投票
4 回答
30638 浏览

c# - 跳过 SqlBulkCopy 中的一些列

我正在使用SqlBulkCopy具有不同列集的两个 SQL Server 2008(将一些数据从prod服务器移动到dev)。所以想跳过一些尚不存在/尚未删除的列。

我怎样才能做到这一点?一些技巧ColumnMappings

编辑:

我接下来做:

并得到:

给定的 ColumnMapping 与源或目标中的任何列都不匹配。

0 投票
1 回答
585 浏览

sql - 我可以使用 sql bulk copy 在同一台服务器中复制数据吗?

我可以使用 sql bulk copy 在同一台服务器中复制数据吗?

0 投票
5 回答
8709 浏览

c# - 如何将 sql(导出)表批量复制到 .Net 中的 csv 或 tsv 文件?

是否有任何 .Net 库提供将 sql 数据库数据导出到纯文本文件(即 csv\tsv)的方法?SqlBulkCopy 仅适用于解决方案的导入部分,我不希望调用任何 Process.Start 调用来打开命令提示符以调用 bcp.exe。

0 投票
1 回答
1688 浏览

sql - SqlBulkCopy 无法尝试复制 XML 列中包含大量内容的行

我正在尝试将记录从一个 SQL Server 表复制到另一个。两个表具有相同的结构,其中一列是 xml 类型。源表的行中有很大的 xml 内容,大约 2.5Mb。

我将 xml 列的内容保存到文件中,请参阅附加的 map.zip 或从 https://docs.google.com/leaf?id=0Bz4PXXEQL5TpM2U5MWJhM2MtMTI0Yi00ODg0LTk4OWItMzJiNjVjMDIzNjc2&hl=en&authkey=CLT5i8oP下载

我的代码的简化版本:

bulkCopy.WriteToServer 上发生的异常:

它看起来像一个 SqlBulkCopy 错误。我想知道是否有人可以复制并确认这一点。

更新: 提交给微软,

_https://connect.microsoft.com/VisualStudio/feedback/details/614046/sqlbulkcopy-fails-trying-to-copy-a-row-with-large-content-in-an-xml-column

他们确认这是他们的错误:

从到目前为止的调试来看,看起来像是批量复制路径中 XML 的服务器端处理存在问题。XML 文件中的属性之一非常大,这导致 SQL Server 在处理 XML 时由于分配大小限制而失败。

0 投票
2 回答
5715 浏览

sqlbulkcopy - SqlBulkCopy 可以从 Sql 选择中创建表吗

SqlBulkCopy 可以创建一个类似于 SELECT INTO 的表吗?

0 投票
1 回答
2956 浏览

database - 批量复制 - sybase

我需要有选择地(行和列)将大约 2000 万行从一个表导出到另一个表。这是我尝试过的:

大约需要 12 个小时才能完成。我不认为sybase 允许bcp out 与Table1 中的选择性列和行以及bcp in 到Table2。是否有可以使用的替代快速方法?如果能在 4 小时内完成,我会很高兴。

感谢您阅读。