我想从dbA访问dbB的数据,从网上搜了一下,好像这样写:create database link linka connect to dbBUser identified by dbBPW using 'dbB'; select * from table@linka
但是我这样试了一下连接是可以连上,但是在访问表的时候会出现“ora-12154:TNS:无法解析指定的连接标识符”这样的错误,请问这是什么原因呢

解决方案 »

  1.   

    用管理员创建 create public  database link li 
      

  2.   

    除了创建public database link之外,你还需要配置好本地的服务名,数据库服务器之间需要本地服务名才能连接上,可以使用tnsping测试你配置的服务名是否正常
      

  3.   

    dbB 这个tns在dbA数据库主机上配置了么。先要保证在dbA所在的主机上能连到dbB吧。
      

  4.   

    能说的更明白点么,额对oracle是小白
      

  5.   

    dbB 这个数据库你能连上吗?
    在cmd窗口执行 sqlplus userid/pwd@dbB 看看能连接上吗?
    配置本地服务名 就是在oracle 配置和移植工具 net manager中配置服务名 这样 才能用plsql连接数据库
      

  6.   

    在Oracle安装路径下的DB_1下找到NETWORK\ADMIN文件夹下有一个TNSNAME.ORA,配置一个连接串,试试;
      

  7.   

    把我的tnsnames.ora文件贴一下,请帮忙看看有问题么
    T =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = t)
        )
      )ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
      

  8.   

    请问这个SERVICE_NAME是数据库的名字么?