大量Insert data to SQL方法
當有大量資料要加入SQL時,有一方法能把整個DateTable加入到SQL Table裡,跟一筆一筆存效率比較,此方法至少快10倍以上。
須先把全部資料整理到DateTable,在一次把整個DataTable做insert。
須先把全部資料整理到DateTable,在一次把整個DataTable做insert。
public void SqlBulkCopyByDatatable(string TableName, DataTable dt)
{
string str = System.Configuration.ConfigurationManager.AppSettings["連線字串"];
using (SqlConnection conn = new SqlConnection(str))
{
using (SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(str, SqlBulkCopyOptions.UseInternalTransaction)) {
sqlbulkcopy.BulkCopyTimeout = 600000;
try
{
sqlbulkcopy.DestinationTableName = TableName;
for (int i = 0; i < dt.Columns.Count; i++)
{
sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName); }
sqlbulkcopy.WriteToServer(dt);
}
catch (System.Exception ex)
{ throw ex; }
}
}
}
留言
張貼留言