SqlServer与Oracle之间数据简单转移操作(涉及图片等二进制数组)

  公司以前的项目是基于Window系统,使用SqlServer 2005数据库,但最近的项目,考虑到系统的稳定性,安全性,可靠性方面的要求,系统改用Linux,数据库采用Oracle。最近一个项目是在以前项目基础上进行的,并且要把以前的架构按照现有架构进行升级,而数据的安全迁移却是十分重要的,基于这个需求,编写这一个数据迁移程序。记录下来,作为一个记录,同时与大家共同交流。   注:程序使用的前提是目标Oracle中必须提前新建与SqlServer中对应的表结构及约束关系。

        虽说网上关于Oracle与SqlServer之间的数据库迁移的文章很多,方法也各异.但是各种复杂的操作与配置对于我来说,并不是十分适用的。对于各种数据迁移方法,大家都有不同的看法,但也许适合的才是最好的吧.程序比较简单,直接贴代码,如果谁有更好方法,不吝献出。

代码

   另外,程序效率不是太高,一般的表每秒约130条记录,如果是含有图片等大数据时,每秒大约只有33条左右。在进行数据库的迁移,对于表的顺序是有要求的,一般带有外键约束的表要后导,而如果删除表操作则按照相反的顺序进行。有一个问题要特别注意的,如果遇到一张表没有主键约束,但是在导数据的过程中,如果出现导入混乱造成一张表中存在相同的记录,这在删除时就会比较麻烦(相关删除操作可以搜索一下),所以在导数据时要特别引起注意。

  这次导数据也是比较痛苦的,导数据速度不是很快,而数据量也一百几十万,花了不少时间,中间也遇到了一张表中记录重复的,删除也遇到了一点麻烦,因为该表中数据比较大,用网上搜索的删除方法效果都不好,于是直接Trunct,重导,比较痛苦.郑重提醒大家:数据是重要的,须小心谨慎! 

posted @ 2009-11-27 20:37  waterfrost  阅读(1209)  评论(0编辑  收藏  举报