大量批次儲存用SqlBulkCopy會比下SqlCommand有效率唷!!
今天在網路看到做批次儲存的做法,
看到原來有這樣的一個類,
雖然目前我沒有需要用到這麼大量的資料,
不過可以做個記錄,以備以後使用。
using(SqlConnection Conn = new SqlConnection(strConnString)) { Conn.Open(); SqlCommand Comm = new SqlCommand("SELECT EmployeeID, LastName, FirstName FROM Employees", Conn); SqlDataReader dr; dr = Comm.ExecuteReader(); using (SqlConnection bcConn = new SqlConnection(strConnString)) { bcConn.Open(); using (SqlBulkCopy bc = new SqlBulkCopy(bcConn)) { //要存入的資料庫 bc.DestinationTableName = "dbo.TestEmployees"; //欄位對應 bc.ColumnMappings.Add("EmployeeID", "EmployeeID"); bc.ColumnMappings.Add("LastName", "LastName"); bc.ColumnMappings.Add("FirstName", "FirstName"); try { for (int i = 0; i < 1000; i++) bc.WriteToServer(dr); } catch (Exception ex) { Console.WriteLine(ex.Message); } if (dr != null) dr.Close(); } } }
參考網站:
http://msdn.microsoft.com/zh-tw/library/system.data.sqlclient.sqlbulkcopy(VS.80).aspx
Jenny:
陽光令人愉快,雨水令人振作,
風聲令人奮起,雪花令人興奮,
沒有所謂的壞天氣!!
只有不同的好天氣!!