admin 管理员组

文章数量: 1184232


2024年3月22日发(作者:类固醇增肌药在哪能买到)

维普资讯

(现代电子技术>2008年第18期总第281期 D’计算机应用技术q 

基于ASP.NET的数据迁移方法 

王 倩,王 伟 

(西安财经学院陕西西安 710061) 

摘要:随着校园网基础设施的不断完善,基于校园网的应用得到迅速发展,数字化校园建设成为当前国内各高校研究 

的热点问题。数字化校园建设是各高校信息化建设的重要系统工程,其主要任务之一是要整合校园内的各种数据。在整合 

数据的过程中,如何迁移大量历史数据是人们所面临的一个重要问题。针对这一问题,以DBF导入SQL Server数据库为 

例,介绍一种数据迁移的方法,并在ASP.NET环境下,用C 语言实现了该方法。该方法实现简单、导入快速,在整合数据 

的过程中已得到实际的应用,便于实现其他数据环境之间的数据迁移。 

关键词:数字化校园}数据迁移;DBF)SQL Server;ASP.NET 

中图分类号:TP391 文献标识码:B 文章编号:1004—373X(2008)18—071—03 

Data Migration Methods Based on ASP.NET 

WANG QJan。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 construc— 

tion is an important systemic project for modernization education.One of its main tasks is integrating all kinds of intramura1.It 

is how to migrate mass historical data is a facing problem in the process of data integration.As an example,a method of mi— 

grate 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 引 言 

Oracle,Sybase等大型数据库,“数字化校园”建设中的 

数据库系统也大多采用这几种数据库。而Dbase,Fox— 

BASE,FoxPro是我国近年来应用比较广泛的数据库开 

发软件,高校中仍有很多管理系统采用这种DBF格式 

的数据库。随着新系统的使用,原有系统中多年来积累 

的大量的宝贵的数据资料如何导入到新系统中,成为一 

个要解决的问题,也就是将面临如何将原始的数据迁移 

到新系统数据库中。 

3解决思路 

近年来,国内许多高校逐步建立了网络基础设施, 

构建了一些应用系统。但由于缺乏对数字校园总体结 

构的认识,出现了系统构建各自为政,缺乏统一规划,已 

构建的系统互割裂,信息与资源无法共享,而有些系统 

则集成度过高、维护与升级困难,网络基础服务平台与 

应用系统脱节等问题。 

在数字化校园的建设中,URP(University Re- 

source Plan)概念的提出很好地解决了信息共享等问 

题。URP通过建立统一的数据库,制定统一的信息标 

准,使各种信息系统以松散耦合的方式集成起来,保障 

了数据的一致性、可靠性、可用性和安全性。原有系统 

中的历史数据,可以通过数据迁移的方式导入到新系统 

中。但在数据迁移的过程中,新的问题也随之而来。 

2数据迁移所面临的问题 

统一数据库的主要目的是实现数据共享,保障数据 

的一致性。但不论是新的信息系统,还是原有的信息系 

统,每个系统的业务本身并没有发生本质的变化。因此 

在数据库的结构到数据方面,都可以保持基本一致,只 

是采用的数据库平台不同。另外,sQL Server自身提 

供的DTS(Data Transformation Services)工具,也包含 

将Dbase,FoxBASE,FoxPro等旧格式数据库文件导入 

到sQL数据库的功能。 

因此,根据实际的业务需求,利用ASP.NET所提 

供的数据库操作功能,配合sQL语句编程,完全可以替 

71 

目前,信息系统的开发大都是利用sQL Server, 

收稿日期:2008—02—19 

基金项目:国家自然科学基金资助项目(10771129) 

维普资讯

王倩等:基于ASP.NET的数据迁移方法 

4.2 DBF文件导入 

代DTS的所有功能,从而实现将大量的历史数据迁移 

至新的数据库系统中。 若在SQL Server数据库中不存在目标数据表,则 

使用导入并生成新表的命令。导入并建立新数据表功 

4设计与实现 

以全国高校毕业生就业管理系统为例,具体说明如 

何实现数据迁移功能。 

原系统为教育部统一使用的单机版软件,采用 

FoxPro编写,并使用DBF格式文件存储数据。新系统 

是采用B/S结构,使用ASP.NET编写及SQL Server 

数据库存储数据。 

在编写程序进行数据迁移的过程中需要解决以下 

几个问题: 

(1)原系统数据文件为DBF格式,在SQL Server 

中,DBF文件所在的文件夹被认为是一个数据库,DBF 

文件被认为是一个数据表。 

(2)在数据迁移过程中,DBF文件可能存放在客户 

端,SQL Server数据库在服务器端,这需要将DBF文 

件先上传至服务器端再进行操作。 

(3)根据用户业务需求,数据迁移功能应包含初次 

迁移、追加数据、覆盖数据等功能。 

4.1 DBF文件上传 

传统的DBF格式数据文件,一般文件体积较小,因 

此采用ASP.NET提供的上传组件即可。对于上传文 

件类型,限定为.DBF格式。以上传学生基本信息表 

student.dbf为例,上传功能代码如下: 

//N断文件大小是否为0 

if(File1.PostedFile.ContentI ength ̄O) 

{ 

string fileExt=Path.GetExtension(File1. 

PostedFile.FileName).ToLower(); 

//判断是否为DBF格式文件 

if(fileExt!=”.dbf”) 

{ 

7 7出错提示 

Label1.Text=”只能上传DBF格式文件!!''; 

} 

//合法的非空的DBF文件 

else 

{ 

//指定上传目录 

string filepath=Server.MapPath(”Data/”): 

//上传至指定目录中 

File1.PostedFile.SaveAs(filepath+ 

student.dM”): 

//进行相关数据迁移操作 

) 

} 

else 

{ 

ff出 提示 

Label1.Text=”上传文件字节数为0 1 1''; 

} 

72 

能代码如下: 

//打开sQL Server数据库连接 

myConnection.Open(); 

//filepath为DBF文件上传时定义的目标文件夹 

//该语句将指定文件夹中的student.dbf文件 

//导入至SQL Server的新建数据表student中 

string creattb=”SELECT*INTO student FROM 

Openrowset( MSDASQI . Driver=Microsoft 

Visual FoxPro Driver;SourceDB=”+filepath+”; 

oSurceType=DBF , select*from student )”: 

//定义SQL命令 

SqlCommand myComm=new SqlCommand( 

creattb,myConnection); 

//执行导人命令 

myComm.ExecuteNonQuery(); 

//关闭数据库连接 

myComm.Dispose(): 

myConnection.Close(); 

//操作成功提示信息 

Label2.Text=”导入并生成学生数据表成功!!'f; 

4.3 DBF文件追加 

若SQL Server数据库中已存在student数据表, 

则使用追加命令导人数据。追加数据功能代码如下: 

//打开SQI Server数据库连接 

myConnection.Open(); 

//filepath为DBF文件上传时定义的目标文件夹 

//该语句将指定文件夹中的student.dbf文件 

//追加至SQL Server的数据表student中 

string creattb=”INSERT INTO student 

SELECT*FROM Openrowset( MSDASQI . 

Driver=Microsoft Visual FoxPro Driver: 

oSurceDB一”+filepath+”: 

SourceType=DBF , select*from student )”: 

//定义SQI 命令 

SqlCommand myComm=new SqlCommand( 

creattb,myConnection); 

//执行导人命令 

myComm.ExecuteNonQuery(); 

//关闭数据库连接 

myComm.Dispose(): 

myConnection.Close(); 

//操作成功提示信息 

Label2.Text=”导入学生数据表成功!!''; 

4.4 DBF文件覆盖 

若导入的数据需要覆盖sQI Server数据库中原有 

数据,则需要先执行删除语句,再执行导入语句。数据 

覆盖功能代码如下: 

//打开SQL Server数据库连接 

myConnection.Open(); 

//删除SQI Server中student数据表内容 

维普资讯

2008年第18期总第281 

string creattb=”delete from student”{ 

速地导人SQL Server数据库中。 

ff定 SQL命令 

SqICommand myComm:new sqICommand 

DBF数据迁移到SQL Server数据库中的方法,为 

(creattb,myConnection); 

解决数据迁移中的稳定性、安全性、准确性等问题提供 

//执行删除命令 

了有力的帮助,有效地解决了大量历史数据的继承问 

myComm.ExecuteNonQuery(); 

题。同样,这种迁移方法只需替换相应的SQL语句,即 

//filepath为DBF文件上传时定义的目标文件夹 

可用于MDB文件、EXCEI 文件以及特定格式的文本 

//该语句用指定文件夹中的student.dbf文件 

//覆盖SQL Server数据表student中的数据 

文件等各种数据库文件的数据迁移中。 

creattb=”INSERT INTO student SELECT 

FROM Openrowset( MSDASQL , 

参考文献 

Driver:Microsoft Visual FoxPro Driver: 

OSureeDB:”+filepath+”; 

[1]张继东,王颖.数字化校园URP系统的构建[J3.北京邮电 

SourceType—DBF , select*from student )”; 

//重新定义sQL命令 

大学学报:社会科学版,2008,10(1):72—75. 

myComm.CommandText=creattb; 

[23祝伟华,杨丹,桑军.等.数字化校园设计与构建方法研究 

//执行导入命令 

I-J].计算机科学,2005,32(8):97—99. 

myComm.ExecuteNonQuery(); 

[33崔子筠,罗庆华.建立基于校园网的URP系统EJ].微型电 

//关闭数据库连接 

myComm.Dispose(); 

脑应用,2002,18(7):25—27. 

myConneetion.Close(); 

[4]熊辉,刘彦峰,郭大庆.分布式异构数据库迁移系统的设计 

//操作成功提示信息 

与实现EJ3.计算机工程,2008,34(4):57—59. 

Label2.Text=”覆盖学生数据表成功!!”; 

E53孔芳,徐汀荣.数据迁移工具的设计研究EJ3.计算机应用与 

从上面的代码可以看出,覆盖操作被分解为删除、 

软件,2005.22(2):133—135. 

追加2步执行。 

E63柏瑞芊,荣鹏辉.基于DTS的原始数据转换方法研究[J].科 

类似地,也可以先删除SQL Server中的student 

技资讯,2006,33:220—221. 

数据表,然后采用4.1节的导人并生成数据表操作来实 

[73王胜德,杨学强.利用DTS实现异构数据库的数据交换[J3. 

现覆盖数据。其中,删除数据表可使用SQL命令 

计算机应用,2003,23(7):132—134. 

”DROP TABLE student”来实现。 

E83梁秀娟.医院信息系统升级中的数据迁移方案与实现[J3. 

中国数字医学,2007,2(11):51—53. 

5结语 

[93杜军威,隋树林,吴鹏.异构数据库之间数据迁移的实现方 

法[J3.青岛化工学院学报:自然科学版,2002,23(3):78 

在程序的可靠性、准确性等方面,通过对数万条学 

81. 

生信息的迁移测试和校验,数据的导人、追加、覆盖等功 

[101葛管库.基于Foxpro与SQL Server数据继承问题的设计 

能 完全达到了要求,能将原有的DBF数据文件准确快 

与实现[J3.洛阳大学学报,2002,17(4):57—60. 

作者简介王倩女,1973年出生,助理工程师。主要研究方向为现代教育技术、信息管理等。 

王伟 男,1973年出生,高级工程师。主要研究方向为计算机网络及应用、Web程序设计、多值逻辑等。 

73 


本文标签: 数据 迁移 数据库