最近要遷移資料,乙個老版本的資料遷移到新版本的資料庫中,字段、配置、引數什麼的完全不一樣。
糾結啊,寫**估計只花了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...