各位大哥:
    公司要求将老系统的数据迁移到新系统中,可两个系统数据库一个是SQLSERVER一个是ORACLE,设计时不知道要迁移,后来才提出。而且老系统与新系统的表设计也不一样,这怎么迁移或者导入啊?我郁闷啊!

解决方案 »

  1.   

    没啥好办法.
    慢慢弄吧.
    可以先从sql server里到处dmp,然后倒入oracle,再根据业务逻辑关系,写sql进行数据转换.
      

  2.   

    我专门做这个的,先在sqlserver中建立和oracle目标库结构一样的临时库然后通过编写脚本导入的sql中的临时库然后把sql中的临时库通过数据库迁移工具导入到oracle中。然后小小处理一下。比如复位序列打开触发器之类的。
      

  3.   


    sqlserver导dmp这个我不明白能解释下么。
      

  4.   

    查了下,好像sql server不能导出为dmp,只能用dts导出到oracle.摆乌龙了
      

  5.   


    是把sqlserver 导入到oracle 中的话 
    sqlserver有个很好的工具dts 便可 很方便的,不过要是mssql 中表的字段有两个clob字段你的把他用一个 把另外的改成其他的类型,不然会出错的额
      

  6.   

    dts 导出的文件就是dmp 其实就是个中间件 就像桥一样的性质
      

  7.   


    DTS实际上采用的是一边select 一边 insert 但是说导出为dmp有点牵强了。小数据量dmp比较方便,表大了就用sqldeveloper
      

  8.   

    gdd714 的回答比较地道,我查了很多资料,基本是这个思路。有更好的吗?给个工具也好啊
      

  9.   

    sqlserver中有个DTS,后来叫ssis的服务可以完成
      

  10.   

    ETL工具,可以跨数据库,结构之间差异可以建模。不怕麻烦就自己做模型转换,结构不一样不管是否用第三方工具都要去建立模型转换关系,自己创建的话,不同结构需要有中间表,中间表是和来源库相同的结构,中间表创建到目标库在同一个库上,通过中间表按照指定规则转换到目标表中。
      

  11.   

    我喜欢这样的工作,和数据打交道我的最爱可以参考ETL流程,抽取,转换,、