异构数据库数据迁移的研究.docVIP

  • 8
  • 0
  • 约3.75千字
  • 约 8页
  • 2018-10-16 发布于福建
  • 举报
异构数据库数据迁移的研究

异构数据库数据迁移的研究   摘要:数据迁移是指将一种数据环境中的数据根据需要进行某种转换,导入另外一种相异或者相同的数据环境中。异构数据库迁移是指将数据库管理系统中不同的,或者数据结构、数据组成与定义相异的数据之间尽量进行等价、无损的数据转移。通过文献案例和理论研究对异构数据库的迁移技术进行了分析,提出了一种以Java为编程语言和数据库结构JDBC为基础的异构数据库管理系统的迁移方法,并通过实验证实了此方法的有效性。   关键词:企业信息化;数据迁移;异构数据环境;Oracal;SqlServer   中图分类号:TP391 文献标识码:A 文章编号:1672-7800(2013)005-0109-03   0、引言   随着企业的发展,企业原有的各种信息系统常常需要升级,以性能更好、规模更大的系统替代原有的系统。例如企业常常考虑使用0racle或DB2等大型数据库软件来代替MS SqlServer,在信息系统升级中,一个不可避免的问题就是数据迁移。而在不同数据库之间进行数据迁移是其中的一个难点,因为不同厂商的数据库中定义的数据类型不尽相同,企业可以选择一些数据库系统自带的工具软件进行数据迁移,例如Oracle公司的Migration work-Bench、MS SQLServer的DTS(Data Transformation Serv-ice,数据转换服务)。但是这些工具的针对性不强,不够灵活,所以许多企业在升级数据库时,常常自己编写软件来完成数据迁移。   本文设计的系统专门用于MS SQL Server和0racle数据库之间的数据迁移,本系统采用了Java为编程语言,采用0raclelog和SQL server2005作为数据库环境,并利用Java语言的跨平台性和JDBC的无差异数据使用来为数据迁移提供技术支撑。   1、系统设计和实现   1.1 总体设计   为实现数据迁移功能,将系统划分为下面几个步骤:①读取源数据;②生成数据转换的规则;③使用Java语言实现操作。   1.2 系统结构设计   系统结构用来描述系统内部各组成要素之间的相互联系、相互作用的方式或秩序,即各要素在时间或空间上排列和组合的具体形式。系统功能结构设计如图1所示。下面依照这个结构图来描述各个软件功能模块。   (1)连接模块。使用此系统之前,必须先连接数据库。本功能模块用于连接SQL Server数据库和Oracle数据库,通过输入数据库连接所需的用户名、密码、数据库名称等。   (2)Oracle数据区模块。该模块用于显示所连接的Oracle数据库及表的信息。用户通过连接模块进行数据库连接,如果连接成功,将在窗口中显示当前连接的服务器下各个Oracle数据库的结构,采用树形结构显示。显示信息包括服务器、用户名和当前用户可以访问的表。用户可以查看表名称、表中的字段属性及约束条件等详细信息。   (3)SQL Server数据区模块。该模块用于显示所连接的SQL Server数据库及表的信息。用户通过连接模块进行数据库连接,连接成功后将在窗口中显示各个数据库的结构,以树形结构显示,结构分3层,最上面是现在已连接的SQL Server数据库的服务器名,第2层为现在可以访问的数据库名。   (4)操作模块。本模块的主要功能是对选中的表进行操作,分为两个界面,左边显示SQL Server数据库信息,右边显示Oracle数据库信息。   迁移表的操作是新建表与删除表操作,用户在界面左边选择SQL Server数据库中的一个表,这时本系统会在连接的Oracle数据库中查找是否存在同样的表,如果没有,将会在Oracle数据库中新建立一个表,表的字段、数据类型、约束条件、主键等信息全部通过读取相应的SQLServer数据库获得,按照本系统预先建立的数据类型转换对应表,生成SQL语句并在Oracle数据库中运行该语句以建立相应的表。这个过程完成了以下操作:读取SQLServer数据库→生成SQL语句→在Oracle数据中建立表,这就相当于完成了从SQL Server到Oracle的表的迁移。   (5)操作结果模块。本模块用于显示数据迁移完成后的结果。这些信息包括用户选中表中的各个字段信息、表中的具体数据,还有根据数据类型转换规则执行后的一些字段信息和生成的SQL语句,以及在目的数据库表中的新数据和系统本身记录下来的操作日志。   (6)辅助功能。在迁移过程中显示迁移的时间进度表,提示估计完成时间和剩余时间,如果迁移过程中出现错误,将中止迁移操作并且提示错误类型和出错位置等信息。   2、系统详细设计   详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法逻

文档评论(0)

1亿VIP精品文档

相关文档