SQLServer转换为Oracle过程记录

Sqlserver数据库和Oracle数据库差别较大,前者使用T-SQL,后者使用PL/SQL。所以,如果项目在中间阶段发生了数据库变动将比较痛苦,如果使用了大量的存储过程将更加痛苦。

我们项目目前主要支持SqlServer数据库,但是目前正在进行框架改造,并且项目要产品化,故支持多数据库是必须要做的一个事情。

原来的Sqlserver数据库中包含大量的表、视图以及存储过程,对表和视图进行转换相对较容易一些,而针对存储过程进行数据库间转换的工具较少。这个任务的完成主要得益于Dragonpro的两篇文章:

1) 【全源码发布】异构数据库转换工具

本文主要介绍了Dragonpro个人写的一个异构数据库间的转换工具,该工具建立在Microsoft Enterprise Library之上,可完成数据库表的转换,不过由Sqlserver数据库表得到的oracle数据库表的主键没有处理好,需要手动增加触发器和序列。

clip_image002

2) Sql Server到Oracle转换手记

本文作者主要介绍了转换异构数据库之间的存储过程的一个工具,以及如何绕过其试用版2000行的限制。很给力!

clip_image004

此工具强大之处,不仅在于它能转换存储过程,并且转换表时可以生成创建触发器及序列的代码用来实现自增长。

clip_image006这是序列;

clip_image008这是触发器。

对于异构数据库之间的转换,难免会失败,此工具提供了灰常牛的转换报告,可进入到下面的目录查看:

clip_image010

这么强大的工具推荐大家使用,下载地址:http://www.swissql.com/

posted on 2012-02-22 17:52  onlyfew  阅读(1657)  评论(0编辑  收藏  举报

导航