请问大家有什么好的迁移办法?存储过程、函数、触发器等是否必须重写?是否有工具可以转换?考虑sql server的语法如:判断null值,用isnull函数,我是否可以在oracle中写一个isnull函数,来实现类似sqlserver中isnull的功能?字符串函数、日期函数也这样在oracle中重写一个,是否可以实现不改动sqlserver中的sql语句??如果这样可行,需要的工作量有多大?

解决方案 »

  1.   

    补充一下,使用DTS导,存储过程等都要重写!最好不需要重写,不知道有什么好办法??
      

  2.   

    sql server 语句导出后,修改一下在 oracle run
      

  3.   

    存储过程、函数、触发器等还是重写吧。在oracle中做sqlserver的函数不好做。GZ!
      

  4.   

    使用oracle的透明网关建立sql server的链接,在oracle上重写存储过程,但我遇到了一些问题,如:
    http://community.csdn.net/Expert/topic/4369/4369167.xml?temp=.9551508
    还请各位高手给与解决
      

  5.   

    触发器必须重写。因为两者差异太大,如sql server中是对inserted、deleted表操作,而oracle的行触发器是对:NEW.XXX或:OLD.XXX操作。
    存储过程和函数最好是重写,因为两者的差异也不小,如果过程中仅仅是写标准的SQL,那么仅仅是"翻译"一下也许也行,如果有诸如对临时表的处理,那么最好是重写。
      

  6.   

    直接用PD对SQL Server做逆向工程得到其表结构,然后将数据库表结构类型转换成Oracle,再重新生成Oracle数据库,但仍然需要作修改(大部分是自增字段和关系),只不过工作量已经大大减少了。
      

  7.   

    移植工作基本完成,使用了oralce的移植工作台,能解决关系(主键,外键,索引,唯一约束),自增列的问题,根本不用自己重新写,而且函数,存储过程、触发器也从sql server转换成了oracle语法,自增列oracle自动生成了相应的触发器和序列!不过极少数过程、函数迁移后存在编译错误,但是根据这个工具生成的报告很容易进行修改!
      

  8.   

    ORACLE还有这么个好东西?谢谢分享经验,我也正碰到这个问题。