在我看来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