当我见一个连接到另一个库的用户时,比如说建个叫AAA的DBLINK,结果提交后自动变成AAA.US.ORACLE.COM了,该怎么访问?不管是输入全名还是只输入AAA,都不能访问,怎么避免出现这种现象?

解决方案 »

  1.   

    创建一个同义词再试试
    create or replace synonym TARGETDB_TABLENAME
      for [email protected];然后select * from TARGETDB_TABLENAME ,看看 行不行
      

  2.   

    select * from [email protected] where rownum=1;当表用有lob类型的列时,会返回错误:ORA-22992: 无法使用从远程表选择的 LOB 定位器
      

  3.   

    无法使用从远程表选择的 LOB 定位器—— 觉得不一定是因为lob类型吧?
    select * from [email protected]  (假设table2是远程AAA中存在的一个表)
    你看看是不是可以执行?如果不可以,说明 DBLINK 建立的有错误,数据库之间没有真正的联系上。 
    在PLSQL中建database Link时,即使写的建立语句有错误,也一样可以执行过去,只有在使用这个dblink时才会出错。
      

  4.   

    同意楼上的 
    是不是db link不对啊
    create database link db_link_name
      connect to user identified by password
      using 'database';
      

  5.   

    创建语法如下:create public database link hr_link
    connect to hr identified by puffinstuff
    using 'hq';
    public:全体用户可用
    hr_link:连接名create database link资料库链结名connect to 用户名 identified by 密码 using ‘资料库连接字串’;
    资料库参数global_name=true时要求资料库链结名称跟远端资料库名称一样
    资料库全局名称可以用以下命令查出
    select * from global_name;连接时:select * from tablename@link_name 就OK了,同时要注意授权