SQLServer转换为Oracle过程记录
Sqlserver数据库和Oracle数据库差别较大,前者使用T-SQL,后者使用PL/SQL。所以,如果项目在中间阶段发生了数据库变动将比较痛苦,如果使用了大量的存储过程将更加痛苦。
我们项目目前主要支持SqlServer数据库,但是目前正在进行框架改造,并且项目要产品化,故支持多数据库是必须要做的一个事情。
原来的Sqlserver数据库中包含大量的表、视图以及存储过程,对表和视图进行转换相对较容易一些,而针对存储过程进行数据库间转换的工具较少。这个任务的完成主要得益于Dragonpro的两篇文章:
1) 【全源码发布】异构数据库转换工具
本文主要介绍了Dragonpro个人写的一个异构数据库间的转换工具,该工具建立在Microsoft Enterprise Library之上,可完成数据库表的转换,不过由Sqlserver数据库表得到的oracle数据库表的主键没有处理好,需要手动增加触发器和序列。
2) Sql Server到Oracle转换手记
本文作者主要介绍了转换异构数据库之间的存储过程的一个工具,以及如何绕过其试用版2000行的限制。很给力!
此工具强大之处,不仅在于它能转换存储过程,并且转换表时可以生成创建触发器及序列的代码用来实现自增长。
这是序列;
这是触发器。
对于异构数据库之间的转换,难免会失败,此工具提供了灰常牛的转换报告,可进入到下面的目录查看:
这么强大的工具推荐大家使用,下载地址:http://www.swissql.com/
作者 onlyfew