出现的错误信息是如下(服务器的监听我都开了):
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:
127.0.0.1:1521:MLDN at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:279)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
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 TestJDBC.main(TestJDBC.java:11)

解决方案 »

  1.   


    tnsname.ora里面有没有配置SID信息,楼主tnsping SID看看,能否ping 通..重启下监听看看..
      

  2.   

    根据报的错误信息来看好像是数据库的sid你弄错了。
    检查一下tnsname.ora文件中的sid是否和数据库的sid一致。
      

  3.   


    检查一下你的数据库的实例名。这里不是监听的问题,监听已经到位了,没有根据你的url里的sid找到实例而已。可能是实例名不对,或者实例MLDN还没有启动
    参考下面的方法排查
    http://www.inthirties.com/thread-107-2-1.html
      

  4.   

    tnsname.ora文件在哪呀?能说一下具体修改的步骤吗?