對於批量在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);
}
}
}