我现在有一个正在运行的系统使用的是MS-SQL(数据库是SQLServer2000)的数据库,但需与一套新的系统连接,但新的系统是Oracle数据库(数据库的类型是Oracle8i),但又不想改变各自的系统,请问如何做两个数据库之间的数据同步呢?
请各位大侠多多帮忙!!!!!!

解决方案 »

  1.   

    采用Sql Server的DTS可以实现
      

  2.   

    这个偶们以前也做过,最大问题是oracle那边没有使用视图之类的方法
    如果有需要去掉。
    其次就是日期的问题。将所有格式做个处理吧,这个没办法。
    还有sequence,做个模拟就可以了。
    其它的小问题就比较好处理了。
    其实偶也知道的很少,还望各位大虾多多见谅啊!
      

  3.   

    dts做不到,它只导入表与视图,过程、函数等不能移值,使用Oracle Migration Workbench
      

  4.   

    用oracle的透明网关技术很简单就完成了。easy
      

  5.   

    在SQL Server上创建链接服务器,然后在建作业,将修改的数据定时更新到ORACLE中。
      

  6.   

    仅仅采用Sql Server的DTS可以实现是做不到的。还有一个同步粒度的问题,是实时呢,还是宽松一点,只是隔一段时间周期性的呢?现在取最苛刻的情况,假如是实时性的,解决方法如下:
    1、楼主可以建一个中间表,里面是oracle与sqlserver各个对象的对应关系
    2、运用存储过程,程序包根据中间表做数据同步。如果数据量大的话,就不要用触发器。如果是周期性的同步,还可以把第二个步骤改成用dts,也是可以的,在系统空闲的时候执行同步也是提高系统性能的不错的方法。
      

  7.   

    birdinrain(中国足协黑哨协会终生名誉会长)提到的观点很切中要害。
    数据库间的同步,数据copy并不是件难事。
    但是,考虑到性能和管理维护特点,就必须要考虑:
    1 数据增量的复制
    2 数据双向的一致性
    3 数据更新的冲突处理
    4 同步实时性的粒度因此,本人觉得采用现有的工具是最好的,采用SQL Server的数据库复制可以完成。
    采用异种库为subscriber,sqlserver为publisher。可以采用transaction replication方式。
    而且,管理维护都相当地方便。