Create public  database link mydblink1 Connect to myuser identified by myuserpassword using 'mylinkdb';   
已配置好网络服务名mylinkdb确保可用的结束创建后,本来名字是mydblink1,
却变成了mydblink1.fc.rtfgj.net
然后查询时
select * from myuser.mytbl@mydblink1
select * from [email protected]
都提示ora-12154无法解析指定的连接标识符,为什么呢?
急,急! 请大家帮忙!

解决方案 »

  1.   

    select * from myuser.mytbl@mydblink1
    改成如下:
    select * from mytbl@mydblink1
     或者
    select * from mydblink1.mytbl
    。。
      

  2.   

    改成如下:
    select * from mytbl@mydblink1会提示无法解析指定的连接标识符,但是'mylinkdb'是确保可用的select * from mydblink1.mytbl会提示表或视图不存在这是为什么啊。以前ORACLE9的数据库链接没这样啊
      

  3.   

    本来名字是mydblink1,却变成了mydblink1.fc.rtfgj.net--名字会自动加后缀,哪个都能用但是'mylinkdb'是确保可用的--你认为的确保可用不是数据库认为的确保可用
      

  4.   


    --你认为的确保可用不是数据库认为的确保可用 
    我反复用用户名及密码登录了。确保正确。查网上的贴子有可能跟 global_name 有关。
      

  5.   

    SQL> show parameter global_namesNAME      TYPE  VALUE
    ------------------------------------ ----------- 
    global_names      boolean  FALSE
    global_names参数并不是用来控制global_name的,而是用来限制dblink的使用.global_names参数的作用,简单得说来就是:当global_names参数设置为TRUE时,使用dblink的名称必须与被连接库的GLOBAL_NAME一致
    所以,你检查一下这个参数试试
      

  6.   


    dblink需要你手动登录吗?你能登录上去不代表dblink也能登上去。
      

  7.   

    using 'mylinkdb';改成了using '远程数据库实例名'最后我把数据库连接名改成了远程数据库的实例名,OK