999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

.NET實現(xiàn)大批量Excel數(shù)據(jù)導(dǎo)入SQL SERVER

2010-12-31 00:00:00馮煒銳尹強飛
商場現(xiàn)代化 2010年35期

[摘要] 人們習(xí)慣將待添加的記錄保存在Excel文件的作為存檔,然后再利用管理系統(tǒng)的數(shù)據(jù)導(dǎo)入功能將Excel數(shù)據(jù)批量的導(dǎo)入到數(shù)據(jù)庫中。實現(xiàn)Excel數(shù)據(jù)導(dǎo)入到SQL SERVER主要有兩種方法,使用DTS界面導(dǎo)入和編寫數(shù)據(jù)導(dǎo)入代碼。

[關(guān)鍵詞] 數(shù)據(jù)導(dǎo)入管理系統(tǒng)Excel工作效率

一、引言

數(shù)據(jù)導(dǎo)入在目前的管理信息系統(tǒng)中是較常見的功能。比如工作人員經(jīng)常會將下屬單位上報的數(shù)據(jù)保存在Excel文件中,然后利用系統(tǒng)的數(shù)據(jù)導(dǎo)入功能將相關(guān)數(shù)據(jù)一次性導(dǎo)入到數(shù)據(jù)庫管理系統(tǒng)中,避免了大量數(shù)據(jù)的逐條入錄,提高工作效率。然而數(shù)據(jù)導(dǎo)入的代碼編寫好壞也會對數(shù)據(jù)導(dǎo)入的性能產(chǎn)生影響。

二、SQL SERVER導(dǎo)入Excel

在應(yīng)用程序中經(jīng)常需要將外部的數(shù)據(jù)一次性導(dǎo)入到SQL SERVER 中,使用SQL SERVER導(dǎo)入數(shù)據(jù)的方法有很多種,對于DBA可以直接使用DBMS自帶的DTS工具完成數(shù)據(jù)的導(dǎo)入,操作非常方便,然而對于管理系統(tǒng)的使用人員是不能直接接觸數(shù)據(jù)庫管理系統(tǒng)的,無法采用這種方法實現(xiàn)數(shù)據(jù)的導(dǎo)入。因此,程序設(shè)計員應(yīng)該要將數(shù)據(jù)導(dǎo)入功能在程序中做好,直接提供給用戶去實現(xiàn),程序?qū)崿F(xiàn)數(shù)據(jù)導(dǎo)入的方法主要有三種,下面介紹各方法實現(xiàn)的原理。

1. insert into導(dǎo)入法

在SQL SERVER 中這種方法是最基本的數(shù)據(jù)導(dǎo)入方法,大多數(shù)程序開發(fā)人員在實現(xiàn)數(shù)據(jù)導(dǎo)入時首先都會想到這種方法。

語法:insert into tablename(字段名列表) values(值列表)

這種方法雖然簡單,但是不適合在實現(xiàn)插入大批量數(shù)據(jù)的操作上,根據(jù)實驗測試表明,如果插入100百萬條記錄,這種方法將耗時901599豪秒,約15分鐘。嚴(yán)重影響了工作效率,也會由于耗時過長而對導(dǎo)入的數(shù)據(jù)的正確性產(chǎn)生影響。

2. BULK insert導(dǎo)入法

BULK insert導(dǎo)入法對于大家可能不是很熟悉,但是當(dāng)要實現(xiàn)大批量數(shù)據(jù)的導(dǎo)入時采用這種方法將會給你帶來極高的效率。

語法:BULK insert tablename from '數(shù)據(jù)文件' WITH (FIELDTERMINATOR = ',',ROWTER /.,mbMINATOR='',BATCHSIZE = 100000)

還是以100萬條數(shù)據(jù)為測試,將其分五個線程,每個線程擔(dān)任20萬條數(shù)據(jù),每5萬條一個事物,五個線程同時啟動。根據(jù)測試實驗的數(shù)據(jù)表明,該方法耗時是21099豪秒,約21秒,速度提高了近42倍。

3. SqlBulkCopy類導(dǎo)入法

SqlBulkCopy類導(dǎo)入法引用了System.Data.SqlClient名稱空間,通過該空間創(chuàng)建SqlBulkCopy類來實現(xiàn)大批量數(shù)據(jù)導(dǎo)入的,具體的數(shù)據(jù)導(dǎo)入程序?qū)崿F(xiàn)如下所示。

//源數(shù)據(jù)

SqlDataReader reader = myCommand.ExecuteReader();

//目的數(shù)據(jù)

using (SqlBulkCopy bulkCopy = new

SqlBulkCopy(destinationConnection.ConnectionString))

{

bulkCopy.ColumnMappings.Add(\"ProductID\", \"ProductID\");

bulkCopy.ColumnMappings.Add(\"ProductName\", \"Name\");

bulkCopy.ColumnMappings.Add(\"QuantityPerUnit\", \"Quantity\");

bulkCopy.DestinationTableName = \"Products_TopSelling\";

bulkCopy.WriteToServer(reader);

}

使用SqlBulkCopy類導(dǎo)入法將大大的改善了大批量數(shù)據(jù)的導(dǎo)入性能,100萬條記錄的導(dǎo)入時間將縮短至4989耗秒,盡5秒鐘即可完成100完條數(shù)據(jù)的導(dǎo)入。

三、效率分析

針對以上三種導(dǎo)入法,同樣以100萬條記錄為例,在相同的軟件和硬件環(huán)境下進(jìn)行測試,結(jié)果顯示每種導(dǎo)入法的運行時間見表1所示。

表1 數(shù)據(jù)導(dǎo)入效率

導(dǎo)入法耗時(單位豪秒)

基本的insert into901599

BULK insert21099

SqlBulkCopy4989

四、結(jié)論

.NET實現(xiàn)將Excel數(shù)據(jù)導(dǎo)入到SQL SERVER的方法有多種,但是執(zhí)行的效率各不相同,實驗表明,選擇了好的數(shù)據(jù)導(dǎo)入法將會極大程度的提高工作效率,保證數(shù)據(jù)的完整性。特別是對于大批量數(shù)據(jù)導(dǎo)入時,更需要我們注意改善導(dǎo)入的性能,否則當(dāng)導(dǎo)入了大部分?jǐn)?shù)據(jù)后由于網(wǎng)絡(luò)或電腦故障等原因停止了數(shù)據(jù)的導(dǎo)入,下次又要花大量的時間來處理這些大批量數(shù)據(jù),嚴(yán)重的影響了工作效率。

參考文獻(xiàn):

[1]吳蓮貴 易瑜:基于ASP_NET的_Web網(wǎng)站設(shè)計_網(wǎng)絡(luò)教學(xué)系統(tǒng)的應(yīng)用與研究[J].計算機教育,2007.10

[2]鄭阿奇:SQL SERVER 使用教程.電子工業(yè)出版社.2005.5

主站蜘蛛池模板: 日韩av资源在线| 欧美伦理一区| 国产麻豆永久视频| 少妇极品熟妇人妻专区视频| 欧美国产日韩另类| 国产成人精品高清不卡在线 | 国产午夜小视频| 亚洲日本韩在线观看| 亚洲av日韩综合一区尤物| 成AV人片一区二区三区久久| 久久99精品久久久大学生| 波多野结衣中文字幕一区| 亚洲AV无码乱码在线观看代蜜桃| 国产尤物在线播放| 日韩av高清无码一区二区三区| 91精品福利自产拍在线观看| 天天摸夜夜操| 日本高清免费不卡视频| 亚洲国产日韩一区| 一本色道久久88| 亚洲人成网站色7799在线播放| 国产全黄a一级毛片| 亚洲人成网线在线播放va| 鲁鲁鲁爽爽爽在线视频观看| 亚洲人人视频| 成人国产三级在线播放| 久久不卡国产精品无码| 亚洲美女高潮久久久久久久| 国内丰满少妇猛烈精品播| 专干老肥熟女视频网站| 国产精品观看视频免费完整版| 99热这里只有精品国产99| 日本欧美成人免费| 波多野结衣二区| 欧美劲爆第一页| 国产免费羞羞视频| 91午夜福利在线观看| 免费Aⅴ片在线观看蜜芽Tⅴ| 先锋资源久久| 国产手机在线小视频免费观看| 99在线视频网站| 亚洲欧美不卡| 亚洲天堂网视频| 国产男女免费完整版视频| 久久狠狠色噜噜狠狠狠狠97视色| 欧美国产中文| 国产成人区在线观看视频| 欧美一级黄片一区2区| 亚洲第一视频网| 久久久无码人妻精品无码| 5555国产在线观看| 久久一日本道色综合久久| 国产三级精品三级在线观看| 26uuu国产精品视频| 精品久久久久久成人AV| 免费啪啪网址| 伊人久综合| 天堂av综合网| 久久综合伊人77777| 欧美一区二区福利视频| 成人无码一区二区三区视频在线观看| 奇米影视狠狠精品7777| 欧美亚洲中文精品三区| 91www在线观看| 韩日无码在线不卡| 欧美一区日韩一区中文字幕页| 在线观看国产小视频| 蜜臀AVWWW国产天堂| 51国产偷自视频区视频手机观看| 亚洲一区二区三区麻豆| 一级毛片不卡片免费观看| 日韩欧美国产成人| 91黄色在线观看| 91精品啪在线观看国产91| 欧美区一区| 午夜视频日本| 全色黄大色大片免费久久老太| 91香蕉视频下载网站| 99在线视频精品| 午夜欧美在线| 国产后式a一视频| 亚洲色偷偷偷鲁综合|