【全源码】异构数据库转换工具
在我看来Oracle和SQLServer数据库之间如果要复制数据和结构,好像还是个麻烦事,当然肯定会有相似或更好的工具,但由于我天生懒惰不想去找,索性自己写了个工具,可以在SQLServer和Oracle之间进行任意组合的数据转换。目前这个工具建立在Microsoft Enterprise Library之上的,屏蔽了不同数据库之间的数据操作,使得在建立这个工具的时候只需要考虑业务问题,也算是DAAB模块的小小实例吧。
【配置】:
在使用前需要先配置两个.config文件,分别是DataConfiguration.config和appsettings.config这两个文件的作用分别是配置数据库连接和字段映射关系。
DataConfiguration.config:
此配置即是用Entlib模块生成的,相信熟悉DAAB模块的朋友能很容易的配置成功,里面使用了leftDatabase和rightDatabase的概念,也就是对应上图中的左数据库和右数据库了,在此需要分别配置左和右数据库,比如左数据库可以是SQLServer的而右数据库可以是Oracle的,当然也可以反之,还可以都是相同类型的数据库,本实例就是连接的SQLServer默认的Northwind数据库,在启动软件之前记得建立一个空的名为Northwind2的数据库作为测试的目的数据库。如果不熟悉本配置的可以参考Entlib的相关说明。
appsettings.config:
此配置文件为数据库字段的映射关系,比如SQLServer中的varchar映射为Oracle中的varchar2,这些在配置文件里都有说明,一般都能看懂。
【操作】:
配置完成后就可以运行程序了(当然您也可以使用我的默认配置直接运行,只是在运行之前需要建立我配置的默认的Northwind2这样的空数据库作为目的数据库)。软件界面如上图所示:
- 首先点击上部的【连接数据库】按钮,在此时程序自动根据配置连接左和右数据库,数据库里的相应表会列在下面的左右列表筐里。下拉筐里会显示数据库连接字符串,防止导数据的时候不确定或忘记了配置情况。
- 如果我想从左数据库导入右数据库,选择左列表筐里的相应表名,注意一定要在对应的表名前面打上对勾程序才会认为要导此表。
- 勾选右下脚的导入选项
- 点击向右的箭头,程序确定提示后就开始导数据了,同时在下面的状态提示可以很直观的看出当前导入进度和导入的条数,以及日志情况等等。
- 导入完成后程序提示,结束运行
【说明】:
使用本程序我成功从上百个表的SQLServer数据库中导入到Oracle数据库中。
本程序还不是很完美,比如在SQLServer导入到SQLServer数据库中时,不能建立主键索引,只能建立一般索引,考虑到一般使用此工具都是为了异构数据库的数据交换,所以也就没深入下去了。
程序完全开源,并且没有版本限制,大家可以任意拷贝和使用。
【点击下载】
转载自 :http://dragonpro.cnblogs.com/archive/2006/04/09/370415.html