用Oracle比较的抑郁,被一些数据表所困扰
比如有5个数据库A,B,C,D,E
对应表TB1,TB2,TB3,TB4,TB5,
SQL SERVER2000的很好办,
直接写A.DBO.TB1;B.DBO.TB2;C.DBO.TB3;D.DBO.TB4;E.DBO.TB5
随便在这个5个库怎么运行都行,
可是换成Oracle,我就弄不明白了,我仅仅知道有个@link,不知道怎么用,
每次都是在A库下查A库的表,B库查B库的表····,
很痛苦啊,每次这么切换。

解决方案 »

  1.   

    ORACLE里面采用DB_LINK,创建需要的DB_LINK之后再查询就行了
    具体语法可以到网上查
      

  2.   

    哥们问题解决了没?
    我这有个办法你看行不?
    要行的话把分给了我吧,哥们穷死了!:)
    1:首先独立启动你的enterprise manager console
    然后在分布里边有个数据库链接 新建一个数据库链接
    名称输入框中输入你一眼几能看明白的名称;
    选择你要访问的另一个数据库的用户名\密码填上,服务名就是你要访问的数据库的SID;
    创建成功后最好测试下连接!2:在方案里边选择你登陆的用户所在的方案,下边有个同义词,右键-创建
    名称中输入名字,最好是一眼就能明白什么意思,例如:dbname_tablename
    选择远程数据库;
    数据库链接选刚才建立的那个,方案就是你想登陆这个数据库后想访问的对象所在的方案;
    对象就是你想访问的对象;哥们看看能满足你的需求不?能的话把分给了哈!
      

  3.   

    你说的 @link 就是 database link 
    可以让你访问其他实例的链接
    举个例子 
    假设tab1 所在的数据库实例名叫做A
    首先建立一个database link 
     create  public database link  A connect to system(用户名,用system比较方便,也可以换成别的用户) identified by 密码  using 'A';然后 你就可以在别的实例中访问A了
    select * from DBO.tab1@A;注意!!!!
    以上所说的有一个前提就是  在别的实例中 已经建立了 实例A的链接   如果没有 请先运行  netca 添加一个  ,不然是不行的
      

  4.   

    如果两个数据库在一台服务器上
    那么
    create database link 数据链名称
      connect to 另一数据库用户名 identified by 用户名对应密码
      using 另一数据库名;在当前数据库中
    可以直接用 select * from 数据链名称.表名
      

  5.   

    不懂啊,谁可以给的实例看看啊   
    关于oracle 跨库查询的语句(讲清楚些。