没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2010-03-19 15:03:53.000|阅读 575 次
概述:在数字化校园的建设中,URP(University Resource Plan)概念的提出很好地解决了信息共享等问题。URP通过建立统一的数据库,制定统一的信息标准,使各种信息系统以松散耦合的方式集成起来,保障了数据的一致性、可靠性、可用性和安全性。原有系统中的历史数据,可以通过数据迁移的方式导入到新系统中。但在数据迁移的过程中,新的问题也随之而来。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
1 引言
近年来,国内许多高校逐步建立了网络基础设施,构建了一些应用系统。但由于缺乏对数字校园总体结构的认识,出现了系统构建各自为政,缺乏统一规划,已构建的系统互割裂,信息与资源无法共享,而有些系统则集成度过高、维护与升级困难,网络基础服务平台与应用系统脱节等问题。
在数字化校园的建设中,URP(University Resource Plan)概念的提出很好地解决了信息共享等问题。URP通过建立统一的数据库,制定统一的信息标准,使各种信息系统以松散耦合的方式集成起来,保障了数据的一致性、可靠性、可用性和安全性。原有系统中的历史数据,可以通过数据迁移的方式导入到新系统中。但在数据迁移的过程中,新的问题也随之而来。
2 数据迁移所面临的问题
目前,信息系统的开发大都是利用SQL Server、Oracle、Sybase等大型数据库,“数字化校园”建设中的数据库系统也大多采用这几种数据库。而Dbase、FoxBASE、FoxPro是我国近年来应用比较广泛的数据库开发软件,高校中仍有很多管理系统采用这种DBF格式的数据库。随着新系统的使用,原有系统中多年来积累的大量的宝贵的数据资料如何导入到新系统中,成为一个要解决的问题,也就是我们将面临如何将原始的数据迁移到新系统数据库中。
3 解决思路
统一数据库的主要目的是实现数据共享,保障数据的一致性。但不论是新的信息系统,还是原有的信息系统,每个系统的业务本身并没有发生本质的变化。因此在数据库的结构到数据方面,都可以保持基本一致,只是采用的数据库平台不同。另外,SQL Server自身提供的DTS(Data Transformation Services)工具,也包含了将Dbase、FoxBASE、FoxPro等旧格式数据库文件导入到SQL数据库的功能。
因此,根据实际的业务需求,利用ASP.NET所提供的数据库操作功能,配合SQL语句来编程,完全可以替代DTS的所有功能,从而实现大量的历史数据迁移至新的数据库系统中。
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为例,上传功能代码如下:
//判断文件大小是否为0 if (File1.PostedFile.ContentLength>0) { string fileExt=Path.GetExtension(File1. PostedFile.FileName).ToLower(); //判断是否为DBF格式文件 if(fileExt!=”.dbf”) { //出错提示 Label1.Text=”只能上传dbf格式文件!!“; } //合法的非空的dbf文件 else { //指定上传目录 string filepath=Server.MapPath(”Data/”); //上传至指定目录中 File1.PostedFile.SaveAs(filepath+ “student.dbf”); //进行相关数据迁移操作 …… } } else { //出错提示 Label1.Text=”上传文件字节数为0!!“; } |
4.2 DBF文件导入
若在SQL Server数据库中不存在目标数据表,则使用导入并生成新表的命令。导入并建立新数据表功能代码如下:
//打开SQL Server数据库连接 myConnection.Open(); //filepath为DBF文件上传时定义的目标文件夹 //该语句将指定文件夹中的student.dbf文件 //导入至SQL Server的新建数据表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); //执行导入命令 myComm.ExecuteNonQuery(); //关闭数据库连接 myComm.Dispose(); myConnection.Close(); //操作成功提示信息 Label2.Text=”导入并生成学生数据表成功!!“; |
4.3 DBF文件追加
若SQL Server数据库中已存在student数据表,则使用追加命令导入数据。追加数据功能代码如下:
//打开SQL Server数据库连接 myConnection.Open(); //filepath为DBF文件上传时定义的目标文件夹 //该语句将指定文件夹中的student.dbf文件 //追加至SQL Server的数据表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); //执行导入命令 myComm.ExecuteNonQuery(); //关闭数据库连接 myComm.Dispose(); myConnection.Close(); //操作成功提示信息 Label2.Text=”导入学生数据表成功!!“; |
4.3 DBF文件覆盖
若导入的数据需覆盖SQL Server数据库中原有数据,则需先执行删除语句,再执行导入语句。数据覆盖功能代码如下:
//打开SQL Server数据库连接 myConnection.Open(); //删除SQL Server中student数据表内容 string creattb=”delete from student”; //定义SQL命令 SqlCommand myComm=new SqlCommand (creattb,myConnection); //执行删除命令 myComm.ExecuteNonQuery(); //filepath为DBF文件上传时定义的目标文件夹 //该语句用指定文件夹中的student.dbf文件 //覆盖SQL Server数据表student中的数据 creattb=”INSERT INTO student SELECT * FROM Openrowset(’MSDASQL’, ‘Driver=Microsoft Visual FoxPro Driver; SourceDB=”+filepath+”; SourceType=DBF’,’select* from student’)”; //重新定义SQL命令 myComm.CommandText=creattb; //执行导入命令 myComm.ExecuteNonQuery(); //关闭数据库连接 myComm.Dispose(); myConnection.Close(); //操作成功提示信息 Label2.Text=”覆盖学生数据表成功!!“; |
从上面的代码中,可以看出覆盖操作被分解为删除、追加两步执行。
类似的,也可以先删除SQL Server中的student数据表,然后采用4.1的导入并生成数据表两个操作来实现覆盖数据。其中,删除数据表可使用SQL 命令“DROP TABLE student”来实现。
5 结 语
在程序的可靠性、准确性等方面,通过对数万条学生信息的迁移测试和校验,数据的导入、追加、覆盖等功能,完全达到了要求,能将原有的DBF数据文件准确快速的导入到SQL Server数据库中。
DBF数据迁移到SQL Server数据库中的方法,为解决数据迁移中的稳定性、安全性、准确性等问题提供了有力的帮助,有效地解决了大量历史数据的继承问题。同样,这种迁移方法只需替换相应的SQL语句,即可用于MDB文件、EXCEL文件以及特定格式的文本文件等各种数据库文件的数据迁移中。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:网络转载面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号