大量Insert data to SQL方法

當有大量資料要加入SQL時,有一方法能把整個DateTable加入到SQL Table裡,跟一筆一筆存效率比較,此方法至少快10倍以上。
須先把全部資料整理到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; }
}
}
}

留言

這個網誌中的熱門文章

Python-相關係數矩陣實作(python-correlation matrix )

ASP.NET-後端將值傳給javascript

ASP.NET-FileUpload上傳後自動觸發button click(FileUpload upload auto trigger button click)