C 利用 SqlBulkCopy 提交

2021-09-25 04:18:13 字數 727 閱讀 2865

最近要遷移資料,乙個老版本的資料遷移到新版本的資料庫中,字段、配置、引數什麼的完全不一樣。

糾結啊,寫**估計只花了1/5的時間,對欄位引數這些簡直是慘不忍睹啊。。。還算比較清楚結構的我,都已經無語了。

最後遇到sqlbulkcopy各種問題

以前封裝好的方法只有單獨乙個表新增,呼叫了幾次方法,經常出現此 sqltransaction 已完成;它再也無法使用。

好吧,我改。。。

using (sqltransaction st = conn.begintransaction())

using (sqlbulkcopy copy = new sqlbulkcopy(conn, sqlbulkcopyoptions.default, st))

n個。。。。

多表一起提交,然後又導致超時,哎。。。完全跑不了。。。再改吧,把資料比較大的那張表,分開提交

using (sqlbulkcopy copy = new sqlbulkcopy(conn, sqlbulkcopyoptions.default, st))

);copy.destinationtablename = 大表.tablename;

copy.writetoserver(大表);

}其實吧,這個表也就不到4千萬資料,按理說不應該這麼吧,可能是我們伺服器太差了,也可能是索引太多了,他們給出的複雜查詢,完全不考慮效能的,只為了寫程式方便簡單,最後就坑的就是哥們了。。

利用SqlBulkCopy插入資料

bulk方法主要思想是通過在客戶端把資料都快取在table中,然後利用sqlbulkcopy一次性把table中的資料插入到資料庫 如下 public static void bulktodb datatable dt catch exception ex finally public static...

利用SqlBulkCopy快速大批量匯入資料

實際的開發可能會遇到資料大批量插入資料的問題,若是一條條的迴圈倒數效率非常低下,這個較好的解決方案 protected void button1 click object sender,eventargs e string str configurationmanager.connectionstr...

利用SqlBulkCopy快速大批量匯入數

實際的開發可能會遇到資料大批量插入資料的問題,若是一條條的迴圈倒數效率非常低下,這個較好的解決方案12 protected void button1 click object sender,eventargs e 3 2122 string str configurationmanager.conn...