這是一個(gè)效率最高的sql數(shù)據(jù)表轉(zhuǎn)sql語句的工具。
這兩天公司讓做一個(gè)導(dǎo)數(shù)據(jù)的功能,從Excel文件中將數(shù)據(jù)導(dǎo)出并插入到數(shù)據(jù)庫中,起初我是循環(huán)每一行數(shù)據(jù),然后一條一條的將數(shù)據(jù)插入,這樣做雖然功能上 沒什么問題,但是如果數(shù)據(jù)量大的話,會(huì)很影響性能。于是在高人的指點(diǎn)下學(xué)習(xí)了SQLBulkCopy類,該類主要用于批量遷移數(shù)據(jù)到數(shù)據(jù)庫中,至于數(shù)據(jù)源 不加限制,只要數(shù)據(jù)可以加載到DataTable或是IDataReader,就可以利用該類批量導(dǎo)入。下面貼一個(gè)例子:
protected void butBulkCopy_OnClick(object sender, EventArgs e)
{
string ConStr = "database=TEST;uid=sa;pwd=sa;server=(local)";
//使用SqlBulkCopy把內(nèi)存表DataTable里的數(shù)據(jù)插入答卷數(shù)據(jù)表
using (SqlBulkCopy bcp = new SqlBulkCopy(ConStr))
{
//指定目標(biāo)數(shù)據(jù)庫的表名
bcp.DestinationTableName = "ARTICLE";
//建立數(shù)據(jù)源表字段和目標(biāo)表中的列之間的映射
bcp.ColumnMappings.Add("T", "TITLE");
bcp.ColumnMappings.Add("C", "CONTENTS");
bcp.ColumnMappings.Add("D", "DATA");
//定義生成通知事件之前 要處理的行數(shù)
bcp.NotifyAfter = 1000;
//處理完要處理NotifyAfter的行數(shù)時(shí)觸發(fā)的事件
bcp.SqlRowsCopied +=
new SqlRowsCopiedEventHandler(OnRowsCopied);
//寫入數(shù)據(jù)庫表
bcp.WriteToServer(dt);
//關(guān)閉SqlBulkCopy實(shí)例
bcp.Close();
}
}
private void OnRowsCopied(object sernder, SqlRowsCopiedEventArgs e)
{
Response.Write(e.RowsCopied.ToString());
}
DestinationTableName屬性定義了要復(fù)制表的目標(biāo)名稱
ColumnMappings返回一個(gè)SqlBulkCopyColumnMapping項(xiàng)集 合,SqlBulkCopyColumnMappingCollection.Add 方法參數(shù)為數(shù)據(jù)源類名稱,目標(biāo)表中目標(biāo)列的名稱.也可以先定義一個(gè)SqlBulkCopyColumnMapping,然后使用Add方法添 加,SqlBulkCopyColumnMapping主要用于與目標(biāo)數(shù)據(jù)表的表結(jié)構(gòu)不一致的情況
NotifyAfter指定生成通知事件之前要處理的行數(shù),指定在每次處理行完成的時(shí)候發(fā)生的事件,比如每次復(fù)制了1000行以后就提示1000行復(fù)制完成
NorthWindBulkOp.SqlRowsCopied +=
new SqlRowsCopiedEventHandler(OnRowsCopied);
最后WriteToServer方法,把SqlDataReader復(fù)制到指定的表中。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版













Apifox(Api調(diào)試管理工具)2.1.29.1 綠色版
小烏龜代碼管理工具(TortoiseGit)2.13.0.1 中文免費(fèi)版
SoapUI破解版5.7.0 最新版
小皮面板(phpstudy)8.1.1.3 官方最新版
Ruby3.0(ruby運(yùn)行環(huán)境)3.0.2 官方版
gcc編譯器( MinGW-w64 9.0.0綠色版)免費(fèi)下載
寶玉編輯助手0.0.05新版
火花編程軟件2.7.2 官方pc版
猿編程少兒班客戶端3.1.1 官方版
Restorator 2009中文版單文件漢化版
十六進(jìn)制閱讀小工具
IT碼農(nóng)工具軟件1.0 中文免費(fèi)版
Postman Canary(網(wǎng)頁調(diào)試軟件)官方版7.32.0綠色免費(fèi)版
大耳猴少兒編程客戶端1.1.2 官方免費(fèi)版
excel批量sql語句(通過excel構(gòu)建sql工具)1.0 免費(fèi)版
軟件添加彈窗和網(wǎng)址工具1.0 中文免費(fèi)版
天霸編程助手2.1 單文件中文版
ida pro 中文破解版(反編譯工具)7.0 永樂漢化版64位
VBA代碼助手3.3.3.1官方版
JDK 12 linux版for 64位
Samba(完全支持Python 3)4.10 官方最新版
猿編程電腦端3.9.1.347 官方PC版
蒲公英 Android SDKV4.1.11 官方最新版
蒲公英iOS SDK2.8.9.1 官方最新版
WxPython中文可視化編輯器1.2 簡體中文免費(fèi)版
Python代碼生成器1.0 中文免費(fèi)版
C語言代碼實(shí)例助手1.0 免費(fèi)版
notepad++7.8.2 中文免費(fèi)版
wpe pro Alpha 0.9a 中文綠色版




系統(tǒng)自帶的命令行幫助文件(ntcmds.chm)chm格
Excel轉(zhuǎn)換XML工具1.0 免費(fèi)版
實(shí)體類SQL生成工具1.0 綠色免費(fèi)版
XML字符串解析工具2.0.3 免費(fèi)版
VC++Spelly(代碼拼寫檢查)3.0.1 官方最新版
易語言vc6迷你連接器【dos命令形式運(yùn)行】綠
Elastix 20163.0 免費(fèi)版
sql語法分析器(sql語法分析工具)3.1.0 綠色
dev c++下載(DEV-C++)5.9.2 多語安裝免費(fèi)版