触发器可以实现不同机器之间的数据同步吗?学习一下呵呵.
   其实这种笨方法易于实现,至于性能当然会有影响,其他方法如果不能直接通过数据库之间的直接同步,实现会很复杂.因为你去修改数据无非两种方法啊:代码实现,数据库工具或者SQL.
   不知道你是要通过代码实现同步还是通过数据库工具呢?代码实现的话这种笨办法应该是最简单的了,如果考虑性能,那你可以在另一台Server上设置一监听程序,在A更新时通知B上的监听程序并传递相应参数,由那个程序再负责B上数据库的更新.
   如果要通过数据库工具更新,那你需要去看看你的数据库系统有没有什么工具可以实现不同Server之间的数据同步,Oracle的产品好象是有这个功能,但是自动同步还是比较麻烦,因为数据库工具没有办法知道你什么时候更新了数据.最多只能做到定时吧.
    呵呵,个人见解,我也不是很明白的说。

解决方案 »

  1.   

    那这种方法可以试试:
    (1)更新A机器上的数据;
    (2)通知机器B上的监听程序
    (3)监听程序发送响应,如果没有响应则Rollback
    (4)B上监听程序更新数据库,成功之后返回消息给A
    (5)A根据返回消息如果失败则Rollback,否则不做处理.
    这种方法就是把更新由两台机器分别完成,存在的问题是网络通信异常难以处理,比如在B处理完后如果网络出错,没有发出响应消息,则A不知道B是否成功处理了,那这个时候是不是也应该Rollback呢?
      其实个人还是觉得由A直接更新两台Server为好,如果数据更新不是很慢的话,这是最容易实现也最容易控制的方法,也比较有效呵呵.
      

  2.   

    多谢  kingofhawks(蓝鹰) 不好意思,我忘了说了,是基于B/S结构的系统
      

  3.   

    基于BS的也可以做啊,B上做一个Servlet,A发请求过去就是了,呵呵,难道BS就没有办法通信了嘛~~一样的呀.
      

  4.   

    是不是A,B上都有AP server和DB server,也都部署了你门的应用?
      

  5.   

    如果你必须在进行更新操作的时候就让两台Server数据同步,那也只有同时写数据库了,实在想不到什么好法子了...
      

  6.   

    我不太懂,但是我想用J2EE的事务来同步,不知可不可以。