利用SqlBulkCopy批量寫入數據庫

SqlBulkCopy這種批量寫入方式,可以大大的節約數據庫導入數據的時間,因爲字符串拼接後通過循環插入數據庫、需要不停的打開和關閉連接。

注意事項:dataTable的表頭得和所要插入的數據庫表中的字段名稱一一對應,注意重命名:如:dataTable.Columns[0].ColumnName = "內容";

/// <summary>
/// 利用SqlBulkCopy批量寫入數據庫
/// </summary>
/// <param name="dt"></param>
public void WriteIntoDataBase(DataTable dt)
{
 	SqlConnection myConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbBaseDatabase"].ConnectionString);
        myConn.Open();
        SqlBulkCopy bulkCopy = new SqlBulkCopy(myConn);
        bulkCopy.BatchSize = 10000;
        bulkCopy.BulkCopyTimeout = 60;
        bulkCopy.DestinationTableName = "T_Sys_UploadTest";
        for (int i = 0; i < dt.Columns.Count; i++)
        {
		string columnName = dt.Columns[i].ColumnName;
                bulkCopy.ColumnMappings.Add(columnName, columnName);
	}
	bulkCopy.WriteToServer(dt);
	//myConn.Close();
	myConn.Dispose();
}




發佈了29 篇原創文章 · 獲贊 5 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章