【Update】C# 批量插入数据 SqlBulkCopy

2016-12-18 09:19:05来源:cnblogs.com作者:Robin.JiangDH人点击

第七城市

SqlBulkCopy的原理就是通过在客户端把数据都缓存在table中,然后利用SqlBulkCopy一次性把table中的数据插入到数据库中。

    SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);      SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn);      bulkCopy.DestinationTableName = "BulkTestTable";      bulkCopy.BatchSize = dt.Rows.Count;        try      {          sqlConn.Open();      if (dt != null && dt.Rows.Count != 0)          bulkCopy.WriteToServer(dt);      }      catch (Exception ex)      {          throw ex;      }      finally      {          sqlConn.Close();          if (bulkCopy != null)              bulkCopy.Close();      }  

补充一下:
SqlBulkCopy的ColumnMappings中列的名称受大小写敏感限制,在构造DataTable的时候需要注意列名要与表一致。
关于sqlbulkcopy的事务处理,使用事务在性能上会有一定的影响,如果要使用事务,可以设置SqlBulkCopyOptions.UseInternalTransaction。


第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台