2020年2月7日 星期五

[SQL] 新增大量資料 - SqlBulkCopy


最近在用一物一碼,所以會需要產生大批編號

如果使用一筆一筆insert的話, 100萬筆資料不知道要存到哪一天了

這時候建議還是直接用sql bulk insert

ex.

using (SqlConnection conn = new SqlConnection(oneGoodsCS))
{
conn.Open();
using (SqlBulkCopy copy = new SqlBulkCopy(conn))
{
copy.DestinationTableName = "DemoTable";
DataTable dt = new DataTable("DemoTable");
dt.Columns.Add("ID", typeof(string));
dt.Columns.Add("TraceCodeID", typeof(int));

#region sub
for (var i = 0; i < request.Count; i++)
{
var code = Guid.NewGuid().ToString().ToLower();
dt.Rows.Add(code, "traceCodeID");
}
copy.WriteToServer(dt);
#endregion
}
}