我创建好了DB-LINK,显示也能成功的,语句是这样的:
create   public   database   link   ljxlink  
connect   to   A   identified   by   B  using   '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xx.xxx)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orasms)))';  
但是我链接的时候出现报错:
SELECT * FROM qc_bulletin@ljxlink
报错:
ORA-12547:TNS:lost contact高手帮忙解释下

解决方案 »

  1.   

    把上面的连接串配置到tnsnames.ora中
    使用tnsping试一下,是否连通
      

  2.   

    连接串在tnsnames.ora里面已经配置好的
      

  3.   

    创建连接只要没有语法错误都能成功的
    检查下using后的参数是否配置正确,远程服务器的实例是否正常启动,网络是否通畅
      

  4.   

    我后来删除重建,再运行,报错还不一样了:
    ORA-12154:TNS:could not resolve service name 
    郁闷死了,文件tnsnames.ora里也配置好的
    ZJPII_SMS=
       (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XX.XX.XXX)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orasms)
        )
      )
      

  5.   


    你在tnsnames.ora配置好ZJPII_SMS=
      (DESCRIPTION =
      (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XX.XX.XXX)(PORT = 1521))
      )
      (CONNECT_DATA =
      (SERVICE_NAME = orasms)
      )
      ),看能不能连接先,如果能连接的话再试试db_link
      

  6.   

    不应该是create public database link ljxlink   
    connect to A identified by B using 'ZJPII_SMS'; 这样子的代码吗?
      

  7.   


     create public database link ljxlink   
     
     connect to A identified by B using 'ZJPII_SMS'; 
      

  8.   

    我也遇到过,网上说权限要是管理员,
    1)dblink名必须与远程数据库的全局数据库名(global_name)相同;2)用户名,口令为远程数据库用户名,口令;3)主机字符串为本机tnsnames.ora中定义的串;4)两个同名的数据库间不得建立dblink;我使新手,互相讨论吧