本人在用jdbc连接本机上Oracle数据库时,报了一个这样的错误,ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
127.0.0.1:1521:xe

有遇到过这种情的朋友,求指点,感激不尽

解决方案 »

  1.   

    这中问题可能有很多原因导致,建议你重启监听再试试看.
    或者通过netca 重新配置监听然后再进行连接..
    注意你的listen的配置文件和tnsnames.ora文件的信息要有关联.
      

  2.   

    TNS.ORA配置不对,TNS.ORA贴出来看看,你的SID是多少?
      

  3.   

    xe?
    你确保你的 数据库的sid是xe? 
    tnsnames.ora文件打开看看
    在network/admin/tnsnames.ora下边
      

  4.   

    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = tangxu-PC)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )ORACLR_CONNECTION_DATA = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) 
        ) 
        (CONNECT_DATA = 
          (SID = CLRExtProc) 
          (PRESENTATION = RO) 
        ) 
      ) 
    这个是tnsnames.ora的SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = G:\oracle\app\oracle\product\10.2.0\server)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = G:\oracle\app\oracle\product\10.2.0\server)
          (PROGRAM = extproc)
    )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
          (ADDRESS = (PROTOCOL = TCP)(HOST = tangxu-PC)(PORT = 1521))
        )
      )DEFAULT_SERVICE_LISTENER = (XE)
    这个是listener的,有什么不对么
      

  5.   

    SID_LIST_LISTENER =
      (SID_LIST =
      (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = G:\oracle\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
      )
      (SID_DESC =
      (SID_NAME = CLRExtProc XE)
      (ORACLE_HOME = G:\oracle\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
    )
      )
      

  6.   

    XE =
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = tangxu-PC)(PORT = 1521))
      (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)[b]  )
      )你这一段代码中service_name是你主机tangxu-PC中oracle的sid吗?