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

基于ASP.NET的數(shù)據(jù)遷移方法

2008-04-12 00:00:00
現(xiàn)代電子技術(shù) 2008年18期

摘 要:隨著校園網(wǎng)基礎(chǔ)設(shè)施的不斷完善,基于校園網(wǎng)的應(yīng)用得到迅速發(fā)展,數(shù)字化校園建設(shè)成為當(dāng)前國內(nèi)各高校研究的熱點(diǎn)問題。數(shù)字化校園建設(shè)是各高校信息化建設(shè)的重要系統(tǒng)工程,其主要任務(wù)之一是要整合校園內(nèi)的各種數(shù)據(jù)。在整合數(shù)據(jù)的過程中,如何遷移大量歷史數(shù)據(jù)是人們所面臨的一個(gè)重要問題。針對這一問題,以DBF導(dǎo)入SQL Server數(shù)據(jù)庫為例,介紹一種數(shù)據(jù)遷移的方法,并在ASP.NET環(huán)境下,用C#語言實(shí)現(xiàn)了該方法。該方法實(shí)現(xiàn)簡單、導(dǎo)入快速,在整合數(shù)據(jù)的過程中已得到實(shí)際的應(yīng)用,便于實(shí)現(xiàn)其他數(shù)據(jù)環(huán)境之間的數(shù)據(jù)遷移。

關(guān)鍵詞:數(shù)字化校園;數(shù)據(jù)遷移;DBF;SQL Server;ASP.NET

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:B 文章編號:1004373X(2008)1807103

Data Migration Methods Based on ASP.NET

WANG Qian,WANG Wei

(Xi′an University of Finance and Economics,Xi′an,710061,China)

Abstract:With the constant perfection of the campus network infrastructure,the applications based on campus network are developing rapidly.Digital campus construction becomes a hot topic of research in China universities.Digital campus construction is an important systemic project for modernization education.One of its main tasks is integrating all kinds of intramural.It is how to migrate mass historical data is a facing problem in the process of data integration.As an example,a method of migrate data from DBF to SQL Server database is proposed to solve this problem.This method is realized by C# language in the environment of ASP.NET.It has the property of simple realization and quick data migration,and has already found practical applications in the process of data integration.This method is easy to realize data migration in other data environments.

Keywords:digital campus;data transformation;DBF;SQL Server;ASP.NET

1 引 言

近年來,國內(nèi)許多高校逐步建立了網(wǎng)絡(luò)基礎(chǔ)設(shè)施,構(gòu)建了一些應(yīng)用系統(tǒng)。但由于缺乏對數(shù)字校園總體結(jié)構(gòu)的認(rèn)識,出現(xiàn)了系統(tǒng)構(gòu)建各自為政,缺乏統(tǒng)一規(guī)劃,已構(gòu)建的系統(tǒng)互割裂,信息與資源無法共享,而有些系統(tǒng)則集成度過高、維護(hù)與升級困難,網(wǎng)絡(luò)基礎(chǔ)服務(wù)平臺與應(yīng)用系統(tǒng)脫節(jié)等問題。

在數(shù)字化校園的建設(shè)中,URP(University Resource Plan)概念的提出很好地解決了信息共享等問題。URP通過建立統(tǒng)一的數(shù)據(jù)庫,制定統(tǒng)一的信息標(biāo)準(zhǔn),使各種信息系統(tǒng)以松散耦合的方式集成起來,保障了數(shù)據(jù)的一致性、可靠性、可用性和安全性。原有系統(tǒng)中的歷史數(shù)據(jù),可以通過數(shù)據(jù)遷移的方式導(dǎo)入到新系統(tǒng)中。但在數(shù)據(jù)遷移的過程中,新的問題也隨之而來。

2 數(shù)據(jù)遷移所面臨的問題

目前,信息系統(tǒng)的開發(fā)大都是利用SQL Server,Oracle,Sybase等大型數(shù)據(jù)庫,“數(shù)字化校園”建設(shè)中的數(shù)據(jù)庫系統(tǒng)也大多采用這幾種數(shù)據(jù)庫。而Dbase,F(xiàn)oxBASE,F(xiàn)oxPro是我國近年來應(yīng)用比較廣泛的數(shù)據(jù)庫開發(fā)軟件,高校中仍有很多管理系統(tǒng)采用這種DBF格式的數(shù)據(jù)庫。隨著新系統(tǒng)的使用,原有系統(tǒng)中多年來積累的大量的寶貴的數(shù)據(jù)資料如何導(dǎo)入到新系統(tǒng)中,成為一個(gè)要解決的問題,也就是將面臨如何將原始的數(shù)據(jù)遷移到新系統(tǒng)數(shù)據(jù)庫中。

3 解決思路

統(tǒng)一數(shù)據(jù)庫的主要目的是實(shí)現(xiàn)數(shù)據(jù)共享,保障數(shù)據(jù)的一致性。但不論是新的信息系統(tǒng),還是原有的信息系統(tǒng),每個(gè)系統(tǒng)的業(yè)務(wù)本身并沒有發(fā)生本質(zhì)的變化。因此在數(shù)據(jù)庫的結(jié)構(gòu)到數(shù)據(jù)方面,都可以保持基本一致,只是采用的數(shù)據(jù)庫平臺不同。另外,SQL Server自身提供的DTS(Data Transformation Services)工具,也包含將Dbase,F(xiàn)oxBASE,F(xiàn)oxPro等舊格式數(shù)據(jù)庫文件導(dǎo)入到SQL數(shù)據(jù)庫的功能。

因此,根據(jù)實(shí)際的業(yè)務(wù)需求,利用ASP.NET所提供的數(shù)據(jù)庫操作功能,配合SQL語句編程,完全可以替代DTS的所有功能,從而實(shí)現(xiàn)將大量的歷史數(shù)據(jù)遷移至新的數(shù)據(jù)庫系統(tǒng)中。

4 設(shè)計(jì)與實(shí)現(xiàn)

以全國高校畢業(yè)生就業(yè)管理系統(tǒng)為例,具體說明如何實(shí)現(xiàn)數(shù)據(jù)遷移功能。

原系統(tǒng)為教育部統(tǒng)一使用的單機(jī)版軟件,采用FoxPro編寫,并使用DBF格式文件存儲數(shù)據(jù)。新系統(tǒng)是采用B/S結(jié)構(gòu),使用ASP.NET編寫及SQL Server數(shù)據(jù)庫存儲數(shù)據(jù)。

在編寫程序進(jìn)行數(shù)據(jù)遷移的過程中需要解決以下幾個(gè)問題:

(1)原系統(tǒng)數(shù)據(jù)文件為DBF格式,在SQL Server中,DBF文件所在的文件夾被認(rèn)為是一個(gè)數(shù)據(jù)庫,DBF文件被認(rèn)為是一個(gè)數(shù)據(jù)表。

(2)在數(shù)據(jù)遷移過程中,DBF文件可能存放在客戶端,SQL Server數(shù)據(jù)庫在服務(wù)器端,這需要將DBF文件先上傳至服務(wù)器端再進(jìn)行操作。

(3)根據(jù)用戶業(yè)務(wù)需求,數(shù)據(jù)遷移功能應(yīng)包含初次遷移、追加數(shù)據(jù)、覆蓋數(shù)據(jù)等功能。

4.1 DBF文件上傳

傳統(tǒng)的DBF格式數(shù)據(jù)文件,一般文件體積較小,因此采用ASP.NET提供的上傳組件即可。對于上傳文件類型,限定為.DBF格式。以上傳學(xué)生基本信息表student.dbf為例,上傳功能代碼如下:

//判斷文件大小是否為0

if (File1.PostedFile.ContentLength>0)

{

string fileExt=Path.GetExtension(File1.

PostedFile.FileName).ToLower();

//判斷是否為DBF格式文件

if(fileExt!=\".dbf\")

{

//出錯(cuò)提示

Label1.Text=\"只能上傳DBF格式文件!!\";

}

//合法的非空的DBF文件

else

{

//指定上傳目錄

string filepath=Server.MapPath(\"Data/\");

//上傳至指定目錄中

File1.PostedFile.SaveAs(filepath+

\"student.dbf\");

//進(jìn)行相關(guān)數(shù)據(jù)遷移操作

……

}

}

else

{

//出錯(cuò)提示

Label1.Text=\"上傳文件字節(jié)數(shù)為0!!\";

}

4.2 DBF文件導(dǎo)入

若在SQL Server數(shù)據(jù)庫中不存在目標(biāo)數(shù)據(jù)表,則使用導(dǎo)入并生成新表的命令。導(dǎo)入并建立新數(shù)據(jù)表功能代碼如下:

//打開SQL Server數(shù)據(jù)庫連接

myConnection.Open();

//filepath為DBF文件上傳時(shí)定義的目標(biāo)文件夾

//該語句將指定文件夾中的student.dbf文件

//導(dǎo)入至SQL Server的新建數(shù)據(jù)表student中

string creattb=\"SELECT * INTO student FROM

Openrowset(′MSDASQL′,′Driver=Microsoft

Visual FoxPro Driver;SourceDB=\"+filepath+\";

SourceType=DBF′,′select* from student′)\";

//定義SQL命令

SqlCommand myComm=new SqlCommand(

creattb,myConnection);

//執(zhí)行導(dǎo)入命令

myComm.ExecuteNonQuery();

//關(guān)閉數(shù)據(jù)庫連接

myComm.Dispose();

myConnection.Close();

//操作成功提示信息

Label2.Text=\"導(dǎo)入并生成學(xué)生數(shù)據(jù)表成功!!\";

4.3 DBF文件追加

若SQL Server數(shù)據(jù)庫中已存在student數(shù)據(jù)表,則使用追加命令導(dǎo)入數(shù)據(jù)。追加數(shù)據(jù)功能代碼如下:

//打開SQL Server數(shù)據(jù)庫連接

myConnection.Open();

//filepath為DBF文件上傳時(shí)定義的目標(biāo)文件夾

//該語句將指定文件夾中的student.dbf文件

//追加至SQL Server的數(shù)據(jù)表student中

string creattb=\"INSERT INTO student

SELECT * FROM Openrowset(′MSDASQL′,

′Driver=Microsoft Visual FoxPro Driver;

SourceDB=\"+filepath+\";

SourceType=DBF′,′select* from student′)\";

//定義SQL命令

SqlCommand myComm=new SqlCommand(

creattb,myConnection);

//執(zhí)行導(dǎo)入命令

myComm.ExecuteNonQuery();

//關(guān)閉數(shù)據(jù)庫連接

myComm.Dispose();

myConnection.Close();

//操作成功提示信息

Label2.Text=\"導(dǎo)入學(xué)生數(shù)據(jù)表成功!!\";

4.4 DBF文件覆蓋

若導(dǎo)入的數(shù)據(jù)需要覆蓋SQL Server數(shù)據(jù)庫中原有數(shù)據(jù),則需要先執(zhí)行刪除語句,再執(zhí)行導(dǎo)入語句。數(shù)據(jù)覆蓋功能代碼如下:

//打開SQL Server數(shù)據(jù)庫連接

myConnection.Open();

//刪除SQL Server中student數(shù)據(jù)表內(nèi)容

string creattb=\"delete from student\";

//定義SQL命令

SqlCommand myComm=new SqlCommand

(creattb,myConnection);

//執(zhí)行刪除命令

myComm.ExecuteNonQuery();

//filepath為DBF文件上傳時(shí)定義的目標(biāo)文件夾

//該語句用指定文件夾中的student.dbf文件

//覆蓋SQL Server數(shù)據(jù)表student中的數(shù)據(jù)

creattb=\"INSERT INTO student SELECT *

FROM Openrowset(′MSDASQL′,

′Driver=Microsoft Visual FoxPro Driver;

SourceDB=\"+filepath+\";

SourceType=DBF′,′select* from student′)\";

//重新定義SQL命令

myComm.CommandText=creattb;

//執(zhí)行導(dǎo)入命令

myComm.ExecuteNonQuery();

//關(guān)閉數(shù)據(jù)庫連接

myComm.Dispose();

myConnection.Close();

//操作成功提示信息

Label2.Text=\"覆蓋學(xué)生數(shù)據(jù)表成功!!\";

從上面的代碼可以看出,覆蓋操作被分解為刪除、追加2步執(zhí)行。

類似地,也可以先刪除SQL Server中的student數(shù)據(jù)表,然后采用4.1節(jié)的導(dǎo)入并生成數(shù)據(jù)表操作來實(shí)現(xiàn)覆蓋數(shù)據(jù)。其中,刪除數(shù)據(jù)表可使用SQL 命令\"DROP TABLE student\"來實(shí)現(xiàn)。

5 結(jié) 語

在程序的可靠性、準(zhǔn)確性等方面,通過對數(shù)萬條學(xué)生信息的遷移測試和校驗(yàn),數(shù)據(jù)的導(dǎo)入、追加、覆蓋等功能,完全達(dá)到了要求,能將原有的DBF數(shù)據(jù)文件準(zhǔn)確快速地導(dǎo)入SQL Server數(shù)據(jù)庫中。

DBF數(shù)據(jù)遷移到SQL Server數(shù)據(jù)庫中的方法,為解決數(shù)據(jù)遷移中的穩(wěn)定性、安全性、準(zhǔn)確性等問題提供了有力的幫助,有效地解決了大量歷史數(shù)據(jù)的繼承問題。同樣,這種遷移方法只需替換相應(yīng)的SQL語句,即可用于MDB文件、EXCEL文件以及特定格式的文本文件等各種數(shù)據(jù)庫文件的數(shù)據(jù)遷移中。

參 考 文 獻(xiàn)

[1]張繼東,王穎.數(shù)字化校園URP系統(tǒng)的構(gòu)建[J].北京郵電大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2008,10(1):7275.

[2]祝偉華,楊丹,桑軍,等.數(shù)字化校園設(shè)計(jì)與構(gòu)建方法研究[J].計(jì)算機(jī)科學(xué),2005,32(8):9799.

[3]崔子筠,羅慶華.建立基于校園網(wǎng)的URP系統(tǒng)[J].微型電腦應(yīng)用,2002,18(7):2527.

[4]熊輝,劉彥峰,郭大慶.分布式異構(gòu)數(shù)據(jù)庫遷移系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,34(4):5759.

[5]孔芳,徐汀榮.數(shù)據(jù)遷移工具的設(shè)計(jì)研究[J].計(jì)算機(jī)應(yīng)用與軟件,2005,22(2):133135.

[6]柏瑞芊,榮鵬輝.基于DTS的原始數(shù)據(jù)轉(zhuǎn)換方法研究[J].科技資訊,2006,33:220221.

[7]王勝德,楊學(xué)強(qiáng).利用DTS實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)交換[J].計(jì)算機(jī)應(yīng)用,2003,23(7):132134.

[8]梁秀娟.醫(yī)院信息系統(tǒng)升級中的數(shù)據(jù)遷移方案與實(shí)現(xiàn)[J].中國數(shù)字醫(yī)學(xué),2007,2(11):5153.

[9]杜軍威,隋樹林,吳鵬.異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)遷移的實(shí)現(xiàn)方法[J].青島化工學(xué)院學(xué)報(bào):自然科學(xué)版,2002,23(3):7881.

[10]葛管庫.基于Foxpro與SQL Server數(shù)據(jù)繼承問題的設(shè)計(jì)與實(shí)現(xiàn)[J].洛陽大學(xué)學(xué)報(bào),2002,17(4):5760.

作者簡介 王 倩 女,1973年出生,助理工程師。主要研究方向?yàn)楝F(xiàn)代教育技術(shù)、信息管理等。

王 偉 男,1973年出生,高級工程師。主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)及應(yīng)用、Web程序設(shè)計(jì)、多值邏輯等。

主站蜘蛛池模板: 欧美在线综合视频| 日韩一级毛一欧美一国产| 青青青伊人色综合久久| 国产在线观看成人91| 精品无码一区二区在线观看| 黄片在线永久| 国产迷奸在线看| 91精品国产无线乱码在线| 女人av社区男人的天堂| 国产chinese男男gay视频网| 亚洲国产成人麻豆精品| 天天操精品| 亚洲日本中文字幕天堂网| 欧美日本在线播放| 丁香五月亚洲综合在线| 成人va亚洲va欧美天堂| 亚洲av无码成人专区| 日韩a在线观看免费观看| 精品亚洲国产成人AV| 激情国产精品一区| 刘亦菲一区二区在线观看| 久久96热在精品国产高清| 国产乱子伦精品视频| 亚洲性一区| 国产精品观看视频免费完整版| 色欲不卡无码一区二区| 国产成人无码久久久久毛片| 欧美成人手机在线观看网址| 成人午夜视频在线| 在线免费无码视频| 国产小视频a在线观看| 亚洲国产天堂在线观看| 高潮爽到爆的喷水女主播视频| 女人18毛片久久| 992Tv视频国产精品| 在线国产欧美| 国产jizzjizz视频| 国产凹凸一区在线观看视频| 国模极品一区二区三区| 国产sm重味一区二区三区| 思思99热精品在线| 亚洲精品无码久久毛片波多野吉| www亚洲天堂| 日韩美一区二区| 成年片色大黄全免费网站久久| 波多野结衣一区二区三区四区视频| 欧美日韩国产在线播放| 黄网站欧美内射| 中文字幕乱码中文乱码51精品| 亚洲综合亚洲国产尤物| 热re99久久精品国99热| 国产区免费| 亚洲福利视频一区二区| 女人一级毛片| 日本91视频| 欧美国产日韩在线| 午夜一区二区三区| 一本久道热中字伊人| 中文无码精品A∨在线观看不卡| 99re经典视频在线| 91色爱欧美精品www| 欧美亚洲国产精品久久蜜芽| 91福利国产成人精品导航| 久久频这里精品99香蕉久网址| 激情午夜婷婷| 久久这里只有精品国产99| 亚洲综合婷婷激情| 国产区人妖精品人妖精品视频| 青青草国产免费国产| 毛片在线区| 一区二区日韩国产精久久| 2024av在线无码中文最新| 国产门事件在线| 亚洲嫩模喷白浆| 欧美精品一二三区| 欧美精品二区| AV在线天堂进入| 欧美精品一二三区| 国产精品粉嫩| 日韩无码黄色网站| 欧美日韩中文字幕在线| 天堂在线www网亚洲|