对于批量在SQL数据库中插入大量数据,如果用传统的Insert插入,那效率肯定很低。现在推荐一种效率极高的插入数据的方法,采用SqlBulkCope来处理数据,即使百万级的数据插入,也是很快的。
实例如下:
public void AddDataToSQL(string connStr, string tableName, DataTable dt)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn, SqlBulkCopyOptions.UseInternalTransaction))
{
bulkCopy.DestinationTableName = tableName;
for (int i = 0; i < dt.Columns.Count; i++)
{
bulkCopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
}
bulkCopy.WriteToServer(dt);
}
}
}