两个数据库物理隔离的话,写个c++程序倒入倒出的。先判断哪些字段需要改变,注意不要冲突。比如id号等。这样总还是需要手工倒一下,原来有同事做过。
这样想要完全同步就很难,如果需要自动实时的完全同步,得根据具体情况来实施了。

解决方案 »

  1.   

    首先xml规范要统一,既中央数据库端程序生成的xml文件,地方数据库端程序要能识别,反之毅然,(xml文件命名,根节点,子节点命名要统一),其次,需要建个中转数据库,两端生成的xml文件都以数据流存到中转数据库中,两端需要接收的xml文件可用各自的程序在中转数据库中读取即可。这样就不用人为的干预了。
      

  2.   

    不需要在数据上做文章,难点应该在适时通知上,建议消息机制通知客方有改动,主方去请求数据:
    中央向下级时,中央是客方,下级是主方,中央通知下级有数据更新以及数据地址,下级方请求数据;
    下级向中央时,下级是客方,中央是主方,下级告诉中央有数据更新以及数据地址(包括哪个下级),中央方收集数据.在消息机制中,中央是Publisher,下级是对应着该publisher的subscriber;同时每个下级又是一个Publisher,中央是每个下级的subscriber.
      

  3.   

    同意回复人: liu_you(滴水藏海) ( ) 信誉:100  2005-11-29 15:53:00  得分: 0  
     
    的看法重要的不是数据交换格式,因为XML也好,CSV也好,只要有统一的解释器就行。
    数据最终是被拉(plug)过来的,关键在于沟通机制,决定什么时候取数据。可以为数据单位(比如表格和视图)标记版本,仿照版本管理自动更新的办法。或者每条记录标记修改时间(数据库设计上要支持才行;且修改时间必须参考统一的时间服务器),采用低速扫描的方式同步所有发生变化的数据。