c#向數據庫插入較大數據(SqlBulkCopy)


因為要向數據庫添加一些數據,數據量較大

1.使用sql語句批量提交速度較慢

2.用事物批量提交,速度一般

3.用SqlBulkCopy方法寫入數據,速度較快

      /// <summary>
/// 使用SqlBulkCopy方法向數據庫中寫入數據,一般用於大量數據寫入,效率較高
/// 注:使用此方法必須保證傳如的DataTable每列列名和數據庫一一對應
/// </summary>
/// <param name="datadt">要導入的數據源</param>
/// <param name="dbTableName">要導入到數據庫的數據表名</param>
public void ExecuteSqlBulkCopy(DataTable datadt, string dbTableName)
{
using (SqlConnection conn = new SqlConnection(boName))
{
using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(boName, SqlBulkCopyOptions.UseInternalTransaction))
{
try
{
sqlbulkcopy.DestinationTableName
= dbTableName;
for (int i = 0; i < datadt.Columns.Count; i++)
{
sqlbulkcopy.ColumnMappings.Add(datadt.Columns[i].ColumnName, datadt.Columns[i].ColumnName);
}
sqlbulkcopy.WriteToServer(datadt);
}
catch (System.Exception ex)
{
throw ex;
}
}
}
}

1w條數據,1秒左右


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com