/// <summary>
/// 使用SqlBulkCopy方式插入数据
/// </summary>
/// <param name="dt">批量插入的数据</param>
/// <param name="tableName">插入到数据库中的表名称</param>
/// <returns name="long">返回批量插入用时长</returns>
public long SqlBulkCopyInsert(DataTable dt, string tableName)
{
var setting = ConfigurationManager.ConnectionStrings[APP.DB_DEFAULT_CONN_NAME];
string connectionString = setting.ConnectionString;
//测量运行时间
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connectionString);
sqlBulkCopy.DestinationTableName = tableName;
sqlBulkCopy.BatchSize = dt.Rows.Count;
SqlConnection sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
if (dt != null && dt.Rows.Count != 0)
{
sqlBulkCopy.WriteToServer(dt);
}
sqlBulkCopy.Close();
sqlConnection.Close();
stopwatch.Stop();
return stopwatch.ElapsedMilliseconds;
}