java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)

使用JDBC连接数据库出现下面异常: java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=169869568)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333) at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404) at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at xx.TestCon.main(TestCon.java:17)

 

这说明你使用的URL中的SID_NAME出现错误:jdbc:oracle:thin:@192.168.1.2:1521:SID_NAME ,请检查SID_NAME

由于我的数据库是:OracleServiceDHY,可以看出当时安装设置的SID为DHY,好了,把代码更改如下:

try{
   //step1.add drives
   Class.forName("oracle.jdbc.driver.OracleDriver");
   //step2.get connection
   Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:DHY","scott","tiger");
   //step3.creat statement
   Statement sm=conn.createStatement();
   //step4.result set
   ResultSet rs=sm.executeQuery("select * from emp");
   while(rs.next()){//has next
    System.out.println("用户名:"+rs.getString(2));
   }   
  }
  catch(Exception e){
   e.printStackTrace();
  }

测试运行,OK!

你可能感兴趣的:(ORACLE)