本人多年来一直用的是SQLSERVER,这次客户要求数据库要用ORACLE,项目程序都已完成,就是要转换成ORACLE,本人不想对ORACLE有过多了解,请问有什么速成的办法实现数据库的转换,强调一点本人对ORACLE一无所知.

解决方案 »

  1.   

    其实用了存贮过程我看才简单,把存储过程改一下不就行了?
    在页面中写语句,你必须在所有的页面中修改,没有现在的办法.两个数据库的很多语法都不相同.比如说时间,ORACLE中是to_date('xxx','yyyy-mm-dd'),比如说条件oracle中是decode(xx,1,'',''),比如说取前几条oracle中是select * from table where rownum<=10,差异非常之大.
    我看只有慢慢修改了.
      

  2.   

    第一种方法:
    1. 利用PowerDesigner逆向工程得到表结构
    2. 转换成为Oracle的数据模式, 罗列数据类型差异
    3. 建立Oracle表结构(当然包括规划表空间, 一般Oracle主程序1个, 用户数据1个, 索引1个, 工具和临时表空间1个, redo1个, 归档1个)
    4. 现在考虑数据迁移问题, 首先迁移没有LOB的部分数据, 的确比较稳妥的方式是利用程序实现, RAD的可以考虑PB
    5. 数据库对象的迁移没有办法, 只有阅读相关存储过程代码在Oracle重建了, 触发器也是如此, 除非你的触发器事件里面有Oracle不支持的部分, 比如我记得MSSQL里面的触发器有一种替代事件, 就是插入之前触发你可以选择取消插入数据, 不过好像不是rollback那么简单, 况且Oracle的触发器不允许Commit/Rollback的
    6. 访问安全性迁移, 就是用户和权限啦, 这只有MSSQL和Oracle两边凑了
    7. 数据安全性方案, 如果你的MSSQL原本有数据备份/恢复等等方案, 你对应Oracle也需要重做一边, 好在两种都有日志机制
    8. 应用迁移, 修改你的程序适应Oracle
    第二种方法:
    数据转换:用sql的方法导出,用Oracle的sqlldr导入
    第三种方法:
    可以考虑使用oracle 的 migaration workbench每个都有自身优点和缺点,根据情况选择
    参考:
    http://otn.oracle.com/tech/migration/ama/docs/ama_wp.pdf
      

  3.   

    上回听合作伙伴说ORACLE已经提供了迁移方案可以直接把SQLSERVER转换为ORACLE,你可以咨询下ORACLE公司
      

  4.   

    要是用了存储过程就好处理了,存储过程改一下,c#里面的个别语法变一下就可以了,要是把sql语句写在程序里那就头大了,改很多很多喔,我原来就做过这事,和重写没什么差别。
      

  5.   

    看看 oracle的书  、入门只要1天 
    至于做项目 你可以边做边学
      

  6.   

    感谢大家的回应,关键在于我对ORACLE没有一个类似于SQLSERVER的形象认识,时间紧迫我无法下手,全面学习ORACLE已是不可能了,希望大家提供一种速成的办法.