SqlBulkCopy的使用問題

2021-05-08 02:10:31 字數 867 閱讀 7808

在企業資訊化的過程中,使用了分層,資料庫介質使用sqlserver,開發平台使用.net,idevs2008。建立了乙個資料庫訪問層的類dal,其中有乙個功能,就是將乙個dataset儲存到資料庫中,這裡面就用到了sqlbulkcopy這個類。

開始對使用sqlbulkcopy有些認識不清,特別是其事務方面,今天發現了可以使用事務,如下:

dim sbc as sqlbulkcopy = new sqlbulkcopy(mcnobj, sqlbulkcopyoptions.checkconstraints, mtransobj)

mcnobj:資料庫連線;

sqlbulkcopyoptions.checkconstraints:為操作型別;

mtransobj:事務物件;

操作型別的明細:

成員名稱

說明default

對所有選項使用預設值。

keepidentity

保留源標識值。如果未指定,則由目標分配標識值。

checkconstraints

請在插入資料的同時檢查約束。預設情況下,不檢查約束。

tablelock

在批量複製操作期間獲取批量更新鎖。如果未指定,則使用行鎖。

keepnulls

保留目標表中的空值,而不管預設值的設定如何。如果未指定,則空值將由預設值替換(如果適用)。

firetriggers

指定後,會導致伺服器為插入到資料庫中的行激發插入觸發器。

useinternaltransaction

如果已指定,則每一批批量複製操作將在事務中發生。如果指示了此選項,並且為建構函式提供了 sqltransaction 物件,則發生 argumentexception 。

使用SQLBULKCOPY提高匯入資料的效能

向sql server中匯入大量數量可以用bulk insert,但是必須要求插入的檔案在資料庫機器上或者乙個資料庫可以訪問的共享資料夾中 我不知道怎麼設定共享資料夾,以使得sql server能訪問到 sqlbulkcopy 是.net中的乙個類,提供了匯入大量資料的功能。基本用法如下 using...

SQLBulkCopy使用 sql批量新增

sqlbulkcopy,用於資料庫之間大批量的資料傳遞。通常用於新,舊資料庫之間資料的更新。即使表結構完全不同,也可以通過欄位間的對應關係,順利的將資料導過來。首先,sqlbulkcopy需要2個連線。分別連線到不同的舊表所在的資料庫,新錶所在的資料庫。如果是同乙個資料庫,就可以用同乙個sqlcon...

使用 SqlBulkCopy 批量插入資料

使用sqlbulkcopy將datatable中的資料批量插入資料庫中 資料庫中對應的表名 資料集 中英文對應字典 public string sqlbulkcopyinsert string connstr,string strtablename,datatable dtdata,dictiona...