Connection conn = DriverManager.getConnection("jdbc:oracle:thin:" +
"@localhost:1521:orcl","scott","1123");请各位大哥哥们给指点下,我是新手!!
我用java操作时:出现的错误如下: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]

解决方案 »

  1.   

    用ip连接吧。先看看监听的ip是多少
      

  2.   

    用ip连接是如下的错误啊 !!!
    java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:274)
    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)
      

  3.   

    很明显呀,你连接数据库的ip是错误的,都找不到。仔细检查一下你的orcale配置的
    ip,修改了就可以了。
      

  4.   

    localhost换成你数据库的host(如:HOST = 172.20.1.5)
      

  5.   

    检查你的IP和Oracle数据库的SID是否正确~~~
      

  6.   

    把localhost改成ip,然后检查sid是否正确
      

  7.   

    Connection con = DriverManager.getConnection("jdbc:odbc:ora","scott","tiger");用这个实时看
      

  8.   

    Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:数据库名称", "用户名", "密码");
      

  9.   

    你的Sql 语句写的有问题吧
      

  10.   

    在你指定的ip下没有找到那个sid
      

  11.   

    DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ); 
      

  12.   

    你先确定你是否打开了 ORACLE 的 服务 和他的监听 两个服务
    如果打开了 那么 这就是ORACLE 安装的问题
     ORACLE 安装的时候 如果是连网的 那么以后你在启动服务的时候IP 必须和  装机时的IP 一致 才可行
    要么你不连网 装ORACLE ,那么以后你启动ORACLE 的时候也不连网启动ORACLE