C# 实现 SQL Server 批量插入数据的几种高效方法及代码示例:
1. SqlBulkCopy 类(最高效)
using System.Data.SqlClient;
public static void BulkInsertWithSqlBulkCopy(DataTable data)
{
string connectionString = "Server=.;Database=TestDB;Integrated Security=True;";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn))
{
bulkCopy.DestinationTableName = "TargetTable";
bulkCopy.BatchSize = 5000; // 每批处理行数
bulkCopy.BulkCopyTimeout = 600; // 超时时间(秒)
bulkCopy.WriteToServer(data); // 执行插入
}
}
}