解决方案 »

  1.   

    检查下你是否有安装oracle 10g,SQLDevelop识别的TNS文件路径是否正确
      

  2.   

    使用的是oracle 11g版本的数据库,安装系统是win7 32bit,注册表中的oracle_sid已经设为TEST (TEST 是我所用的数据库)。下面是listener.ora,tnsnames.ora,sqlnet.ora文件内容://listener.ora文件内容:
    # listener.ora Network Configuration File: D:\app\asus\product\11.2.0\dbhome_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = D:\app\asus\product\11.2.0\dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:D:\app\asus\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
      )ADR_BASE_LISTENER = D:\app\asus
    //tnsnames.ora文件内容TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = TEST)
          (INSTANCE_NAME = TEST)
        )
      )//sqlnet.ora文件内容
    # sqlnet.ora Network Configuration File: D:\app\asus\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
    # Generated by Oracle configuration tools.# This file is actually generated by netca. But if customers choose to 
    # install "Software Only", this file wont exist and without the native 
    # authentication, they will not be able to connect to the database on NT.SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
      

  3.   

    这些设置应该是正常的,因为我用SQL*PLUS可以正确地连接上TEST数据库。
    哦哦,还有就是,出现sqldevelop连接不上数据库之前,有一次打开sqldevelop的时候,电脑莫名其妙地让我重新选择JDK包,然后我就像之前安装ORACLE数据库后首次运行sqldevelop的时候那样重新选择了JDK。不知道,这个跟连接不上的原因是否有关?
      

  4.   

    sqldevlop最高支持到jdk1.6,如果你使用的是1.7。那就换一个开发工具吧。
      

  5.   

    sqldevelop 需要tnsnames.ora 而你的tns串和lister.ora不匹配 所以就报错1)lsnrctl stop2)修改一下listener.ora和tnsnames.oralistener.oraLISTENER =  
      (DESCRIPTION =  
        (ADDRESS_LIST =  
          (ADDRESS=(PROTOCOL = tcp)(HOST= 你主机IP)(PORT= 1521)  
         )  
        )  
      )  
      
    SID_LIST_LISTENER =  
      (SID_LIST =  
        (SID_DESC =  
          (GLOBAL_DBNAME = 你的global_dbname)  
          (SID_NAME = 你的sid_name)  
          (ORACLE_HOME = D:\app\asus\product\11.2.0\dbhome_1)))  
          tnsnames.ora随便取 =  
      (DESCRIPTION =  
        (ADDRESS=(PROTOCOL= tcp)(HOST= 你的主机ip)(PORT= 1521))  
        (CONNECT_DATA=(SERVICE_NAME= 你的service_name))  
     ) 3) lsnrctl start4) lsnrctl services
       lsnrctl status
      

  6.   

    cmd 输入: sqlplus "/as sysdba"
    错误提示:
    ERROR:
    ORA-12560:TNS:协议适配器错误\
    刚遇到这问题,请问是怎么回事?求解
      

  7.   

    HOST 修改为计算机名,你试试看。以前我的数据库中就是这个错误
      

  8.   

    我也出现了这种情况,太烦人了!
    联网的时候,可以用SQLDevelop,也可以用sqlplus 命令连接,MyEclipse工具里面也可以进行连接,不联网的时候,就可以用sqlplus 命令进行连接,其他的方式都连接不上。
    报的错误和楼主一样的,反复修改过tnsnames.ora 和listener.ora 文件 都不行