利用SqlBulkCopy快速大批量匯入數

2021-08-01 17:24:12 字數 2036 閱讀 1760

實際的開發可能會遇到資料大批量插入資料的問題,若是一條條的迴圈倒數效率非常低下,這個較好的解決方案12 

protected void button1_click(object sender, eventargs e)3 

2122 

string str = configurationmanager.connectionstrings["connstr"].connectionstring.tostring();

23  //宣告資料庫連線

24  sqlconnection conn = new sqlconnection(str);

2526 

conn.open();

27  //宣告sqlbulkcopy ,using釋放非託管資源

28  using (sqlbulkcopy sqlbc = new sqlbulkcopy(conn))

29 

49  conn.dispose();

50  response.write("

");51

52 53

54  datetime endtime = datetime.now;

55  timespan usetime = endtime-begintime;//使用時間

57  }

60  //響應時事件

61  void onsqlrowscopied(object sender, sqlrowscopiedeventargs e)

62 

下面這是我的**

private sub button3_click(byval sender as system.object, byval e as system.eventargs) handles button3.click, button4.click

dim sw as new system.diagnostics.stopwatch

dim t as new system.data.datatable

dim c as system.data.datacolumn

sw.start()

dim conn as new system.data.sqlclient.sqlconnection("data source=.\sqlexpress;attachdbfilename=|datadirectory|\database1.mdf;integrated security=true;user instance=true")

conn.open()

c = new system.data.datacolumn("phone")

t.columns.add(c)

dim bc as new system.data.sqlclient.sqlbulkcopy(conn)

bc.destinationtablename = "tablea"

if openfiledialog1.showdialog() = windows.forms.dialogresult.ok then

dim mystream as filestream

mystream = openfiledialog1.openfile

dim r as new streamreader(mystream)

r.basestream.seek(0, seekorigin.begin)

do while r.peek() > -1

'me.tableadaptermanager.tableatableadapter.insertquery(trim(r.readline))

t.rows.add(trim(r.readline))

loop

bc.writetoserver(t, datarowstate.added)

mystream.close()

conn.close()

sw.stop()

messagebox.show("匯入完成,耗時" & sw.elapsedmilliseconds / 1000 & "秒")

end if

end sub

利用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.c...

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

在.net2.0中,sqlclient命名空間下增加了sqlbulkcopy類.利用sqlbulkcopy類快速寫入大批量資料,針對sql server的優化,可以寫入datarow資料,datatable,datareader 使用 sqlbulkcopy 類可以執行下列操作 1.writetos...