利用SqlBulkCopy類快速寫入大批量資料

2022-03-13 11:22:39 字數 931 閱讀 4750

在.net2.0中,sqlclient命名空間下增加了sqlbulkcopy類.

利用sqlbulkcopy類快速寫入大批量資料,針對sql server的優化,可以寫入datarow資料,datatable,datareader;

使用 sqlbulkcopy 類可以執行下列操作:

1.writetoserver(datatable)寫入資料表

2.writetoserver(datarow)批次寫入資料行

3.writetoserver(datatable,datarowstate)按行狀態寫入資料庫表

4.writetoserver(idatareader)寫入datareader物件

例:

string

connstr ="

server=.;database=northwind;integrated security=true;async=true";

//填充資料集ds

dataset ds

=new

dataset();

sqlconnection conn

=new

sqlconnection(connstr);

sqldataadapter dadp

=new

sqldataadapter(

"select * from customers

", conn);

dadp.fill(ds);

//將資料集中表的所有行複製到目標表中

sqlbulkcopy bcp

=new

sqlbulkcopy(connstr);

bcp.destinationtablename ="

customers1";

bcp.writetoserver(ds.tables[

0]);

利用SqlBulkCopy插入資料

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

C 利用 SqlBulkCopy 提交

最近要遷移資料,乙個老版本的資料遷移到新版本的資料庫中,字段 配置 引數什麼的完全不一樣。糾結啊,寫 估計只花了1 5的時間,對欄位引數這些簡直是慘不忍睹啊。還算比較清楚結構的我,都已經無語了。最後遇到sqlbulkcopy各種問題 以前封裝好的方法只有單獨乙個表新增,呼叫了幾次方法,經常出現此 s...

批量插入資料 SqlBulkCopy類

最近要優化資料庫訪問,資料庫是sqlserver。對單條資料的插入和更新,之前的做法是先查詢資料庫是否有記錄,有就更新,沒有就插入。查了網上的資料後,別人有個好的做法是直接update,若受影響條數是0就直接插入。不知道有沒有更好的。對與操作歷史表的請求,準備做成批量插入。通過使用sqlbulkco...