各位师兄,现在我遇到了如下问题,请问各位是否有办法来帮小弟解决一下。
   现在我做的这个项目的数据库的表需要和别的数据库的表之间存在事实数据拷贝,这两个表可以是一样的,只是在不同的数据库中(两个数据库位于不同的地方)。注:两个数据库都是oracle9i
  请教各位大哥大姐给一个思路和解决办法啊,尽量具体一点,不胜感激,在此谢过。在线等待。。

解决方案 »

  1.   

    我现在是用将java开发,数据库持久化是hibernate,请指教
      

  2.   

    思路如下:
    1. 创建DBLink
    2. 把其中一个数据库的表创建一个同义词到另一个数据库上(主要是为了方便)
    3. 授权
    4. 自由操作就可以了.例子:
    CREATE SHARED DATABASE LINK link2sales
    CONNECT TO scott IDENTIFIED BY tiger
    AUTHENTICATED BY keith IDENTIFIED BY richards
    USING 'sales';grant all on t_a to db1;create synonym syn_a for db2.t_a;insert into syn_a select * from t_a;当然,上面的仅仅是简单例子而已
      

  3.   

    创建dblink,根据dblink来连接不同的数据库
      

  4.   

    我现在有一个想法:就是创建一个dblink,然后在数据源那一边写一个触发器,当数据源有数据变化是我调用一个存储过程(也写在数据源数据库那边)将数据拷贝到我现在这个项目的数据库对应的表中来。
    这样行吗?各位大哥。谢谢了