Connection conn = DriverManager.getConnection("jdbc:oracle:thin:" +
"@localhost:1521:orcl","scott","1123");请各位大哥哥们给指点下,我是新手!!
我用java操作时:出现的错误如下: [color=#FF0000]java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:orcl at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:280)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:319)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:344)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:148)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.dp.day01.Base.test(Base.java:23)
at com.dp.day01.Base.main(Base.java:12)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JavaBeansLauncher.main(JavaBeansLauncher.java:79)
[/color]

解决方案 »

  1.   

    "@localhost:1521:orcl
    你告诉我你想连的是 服务器的机子???
    还是本机
      

  2.   

    "@localhost:1521:orcl"你这是要连接本机的orcl,
    需要确认:数据库服务器为本机,端口为1521(默认),SID为orcl估计是你的SID不是orcl。
      

  3.   

    "@localhost:1521:orcl"
    这是链接本地的服务器
    conn = DriverManager.getConnection("jdbc:oracle:thin:@10.0.7.200:1521:oracle10","scott", "tiger");
    链接到外部的服务器
      

  4.   

    "@localhost:1521:orcl"
    这是链接本地的服务器
    conn = DriverManager.getConnection("jdbc:oracle:thin:@10.0.7.200:1521:oracle10","scott", "tiger");
    链接到外部的服务器
      

  5.   

    上面oracle10是sid,可以从 安装目录:\orant\NET80\ADMIN下的tnsnames.ora查看sid
      

  6.   

    java没搞过,因此不清楚连接串本身的语法对不对。如果排除连接串语法错误问题,那么ORA-12505错误,基本上应该是监听器有问题。用下面命令检查:lsnrctl services看看服务的状态,有没有orcl对应的项目及其状态如何?