数据库服务器A,它装的是真实的数据库,有一个外部门的程序要访问这台数据库的数据库,但是不能直接连到A数据库,我能不能做一个代理.在另外一台机器中装一个数据库B,B可以连接到A,这个程序连接到B,不知道这样算不算分布式.
我急需解决方法,
谢谢.

解决方案 »

  1.   

    可以用数据库链(dblink)不过有些情况会比较慢
    这种情况可以使用两个数据库(分内外网),外部用户访问外网数据库,内部用户访问内网数据,通过后台程序同步内外网的数据,保持一致(安全起见,某些数据可能在外网不保存)
      

  2.   

    呵呵,必须要连接数据库的,不管通过直接连接还是中间件什么方式
    考虑安全可以通过用户控制权限的在另外一台机器中装一个数据库B,B可以连接到A,这个程序连接到B,不知道这样算不算分布式.
    这不算吧,
      

  3.   

    create database link 数据库链名
    connect to 用户名 identified by 口令(密码)
    using '连接串名'  (在 tnsname.ora)中定义;例如:
    create database link sales
    connect to scott identified by tiger
    using 'orcl';访问方法: select * from emp@sales;     connect to 用户名 identified by 口令(密码) 这一句可以省略,后果是系统会用当前用户名及口令访问远程数据库。