将列表(整数)插入SQL Server表

时间:2013-06-19 19:56:10

标签: sql-server vb.net sql-server-2005 ado.net

除了通过列表循环并发出单独的Geneneric.List(Of Integer)命令之外,VB.NET / ADO.NET中是否有一种快速有效的方法可以将INSERT中的大量数据插入到SQL Server表中?我仅限于.NET 3.5和SQL Server 2005。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用对存储过程的所有更改来发送XML。

这是一个旧例子:

http://granadacoder.wordpress.com/2009/01/27/bulk-insert-example-using-an-idatareader-to-strong-dataset-to-sql-server-xml/

这是一个较小的示例,但显示了基础知识。

http://www.mindfiresolutions.com/Sending-Multiple-Records-As-XML-To-SQL-Server-Stored-Procedure-1861.php

将xml发送到存储过程。将xml剪切为@variable或#temp表。使用@variable或#temp表进行UPDATES / INSERTS(或MERGE / UPSERT)。

http://weblogs.asp.net/dwahlin/archive/2009/09/30/passing-multiple-records-to-a-stored-procedure-in-sql-server.aspx

另一个例子。

我喜欢做的是创建一个强大的数据集。将您的数据放入强数据集中。然后将ds.GetXml()发送到存储过程。

通过这种方式,您可以获得强大的输入(使用强数据集),并且您不必编写自己的xml-maker,而是从.GetXml()中退回。提示:创建强数据集后,删除命名空间(tempuri或类似的东西)