/// <summary>
/// 使用slqbulk批量插入数据库中。2017.7.22 17:10
/// </summary>
/// <param name="dt"></param>
public void sqlBulkCopyData(System.Data.DataTable dt)
{
//Stopwatch sw = new Stopwatch();
using (SqlConnection conn1 = new SqlConnection("server=longdabing;database=test;uid=sa;pwd=sasa"))
{
SqlBulkCopy bulkCopy = new SqlBulkCopy(conn1);
SqlTransaction sqltran = conn1.BeginTransaction();//开启事务
bulkCopy.DestinationTableName = "inforsqlbulk";
bulkCopy.BatchSize = dt.Rows.Count;
if (conn.State == ConnectionState.Closed)
{
conn1.Open();
}
//for (int i = 0; i < dt.Columns.Count; i++)
//{
// bulkCopy.ColumnMappings.Add(i, i); //映射定义数据源中的列和目标表中的列之间的关系
//}
try
{
if (dt != null && dt.Rows.Count > 0)
{
bulkCopy.WriteToServer(dt);
}
}
catch
{
sqltran.Rollback();//回滚。
}
}
}