亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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)前國(guó)內(nèi)各高校研究的熱點(diǎn)問(wèn)題。數(shù)字化校園建設(shè)是各高校信息化建設(shè)的重要系統(tǒng)工程,其主要任務(wù)之一是要整合校園內(nèi)的各種數(shù)據(jù)。在整合數(shù)據(jù)的過(guò)程中,如何遷移大量歷史數(shù)據(jù)是人們所面臨的一個(gè)重要問(wèn)題。針對(duì)這一問(wèn)題,以DBF導(dǎo)入SQL Server數(shù)據(jù)庫(kù)為例,介紹一種數(shù)據(jù)遷移的方法,并在ASP.NET環(huán)境下,用C#語(yǔ)言實(shí)現(xiàn)了該方法。該方法實(shí)現(xiàn)簡(jiǎn)單、導(dǎo)入快速,在整合數(shù)據(jù)的過(guò)程中已得到實(shí)際的應(yīng)用,便于實(shí)現(xiàn)其他數(shù)據(jù)環(huán)境之間的數(shù)據(jù)遷移。

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

        中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):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 引 言

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

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

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

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

        3 解決思路

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

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

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

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

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

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

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

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

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

        4.1 DBF文件上傳

        傳統(tǒng)的DBF格式數(shù)據(jù)文件,一般文件體積較小,因此采用ASP.NET提供的上傳組件即可。對(duì)于上傳文件類(lèi)型,限定為.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ù)庫(kù)中不存在目標(biāo)數(shù)據(jù)表,則使用導(dǎo)入并生成新表的命令。導(dǎo)入并建立新數(shù)據(jù)表功能代碼如下:

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

        myConnection.Open();

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

        //該語(yǔ)句將指定文件夾中的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ù)庫(kù)連接

        myComm.Dispose();

        myConnection.Close();

        //操作成功提示信息

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

        4.3 DBF文件追加

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

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

        myConnection.Open();

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

        //該語(yǔ)句將指定文件夾中的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ù)庫(kù)連接

        myComm.Dispose();

        myConnection.Close();

        //操作成功提示信息

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

        4.4 DBF文件覆蓋

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

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

        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)文件夾

        //該語(yǔ)句用指定文件夾中的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ù)庫(kù)連接

        myComm.Dispose();

        myConnection.Close();

        //操作成功提示信息

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

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

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

        5 結(jié) 語(yǔ)

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

        DBF數(shù)據(jù)遷移到SQL Server數(shù)據(jù)庫(kù)中的方法,為解決數(shù)據(jù)遷移中的穩(wěn)定性、安全性、準(zhǔn)確性等問(wèn)題提供了有力的幫助,有效地解決了大量歷史數(shù)據(jù)的繼承問(wèn)題。同樣,這種遷移方法只需替換相應(yīng)的SQL語(yǔ)句,即可用于MDB文件、EXCEL文件以及特定格式的文本文件等各種數(shù)據(jù)庫(kù)文件的數(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ù)庫(kù)遷移系統(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ù)庫(kù)的數(shù)據(jù)交換[J].計(jì)算機(jī)應(yīng)用,2003,23(7):132134.

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

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

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

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

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

        精品久久中文字幕一区| 亚洲中文无码成人影院在线播放| 精品少妇人妻成人一区二区| 黄页免费人成网址大全| 亚洲综合国产成人丁香五月激情 | 国产免费人成视频在线| 蜜臀性色av免费| 亚洲中文久久精品无码ww16| 日韩人妻无码中文字幕一区| 国产日产亚洲系列首页| 亚洲av成人片在线观看| 亚洲乱码日产精品bd在线观看| 国产欧美久久久精品影院| 美女被黑人巨大入侵的的视频| 97精品国产一区二区三区| 亚洲精品毛片一区二区三区 | 一区二区黄色素人黄色| 最新国产精品拍自在线观看| 午夜成人无码福利免费视频| 亚洲国产欧美另类va在线观看| 老熟妇嗷嗷叫91九色| 国产精品天干天干| 真实国产乱啪福利露脸| av大片在线无码永久免费网址| 精品久久中文字幕系列| 被黑人猛烈30分钟视频| 中文字幕一区二区三区乱码不卡| 国产91精品清纯白嫩| 日本一本免费一二区| 夫妇交换刺激做爰视频| 杨幂Av一区二区三区| 亚洲av熟女中文字幕| 无码丰满熟妇一区二区| 亚洲另类欧美综合久久图片区| 国产一区二区在三区在线观看| 日本一本免费一二区| 亚洲一区二区观看播放| 亚洲中文字幕有综合久久| 亚洲av综合国产av日韩| 中国丰满熟妇av| 无码8090精品久久一区|