使用.net批量插入/更新到SQL Server数据库

时间:2014-03-18 09:20:09

标签: c# .net sql-server linq linq-to-sql

我想使用.net将超过25000行数据批量插入(或更新,如果存在更新)到SQL Server数据库中。哪种方法最适合我?

例如:
如果我将数据发送到数据库,它应该插入/更新这些记录。

2 个答案:

答案 0 :(得分:2)

我认为你需要SqlBulkCopy类。

bulkCopy.WriteToServer(dataTable);//Store your data into dataTable

答案 1 :(得分:0)

您可以使用XML更新方法。以XML格式将数据传递到数据库`

CREATE  procedure [dbo].[BulkInsertion]    
@xmlData NTEXT,  
@Type INT              
AS              
BEGIN              
DECLARE @idoc INT                  
EXEC SP_XML_PREPAREDOCUMENT @idoc OUTPUT, @xmlData                 
IF @Type=1    
BEGIN    
INSERT INTO TableName              
Column1, Column2, Column3
)           
SELECT Column1, Column2, Column3
)
END AS DOLP  
FROM OPENXML (@idoc, '//Table1', 3)                      
WITH    (Column1 INT, Column2 VARCHAR(250), Column3 VARCHAR(250))  
END            
EXEC SP_XML_REMOVEDOCUMENT @idoc    
END'