Java 程序通过 JDBC 访问 PPAS(PostgresPlus Advanced Server)9.1.2

为了验证  连接JDBC程序后,获得RecordSet以后,数据库连接切断

后会有什么状况出现,做如下测试:

获得数据库连接、执行SQL文,得到Recordset,sleep一段时间,切断连接。程序继续运行

测试用代码如下:

import java.sql.*;
import java.io.*;
import java.lang.Thread;

public class test01{
public static void main(String[] args)
{
  try{
    Connection con;

    try{   
           Class.forName("com.edb.Driver") ;   
    }catch(ClassNotFoundException e){   
           System.out.println("Cannot found JDBC Driver!");   
          e.printStackTrace() ;   
    }   

     String url = "jdbc:edb://192.168.66.129:5444/edb" ;    
     String username = "enterprisedb" ;   
     String password = "enterprisedb" ;   
     
     con = DriverManager.getConnection(url , username , password ) ;   
     Statement stmt = con.createStatement() ;   
     ResultSet rs = stmt.executeQuery("SELECT * FROM a5") ;   

     System.out.println("Before displaying resultset");
     Thread.sleep(180000);

     while(rs.next()){ 
        
        String id = rs.getString("ID");
        System.out.println("id is:"+id);   
     }   

     if(rs != null){
           try{   
                rs.close() ;   
           }catch(SQLException e){   
               e.printStackTrace() ;   
        }   
     }   

      if(stmt != null){
        try{   
               stmt.close() ;   
        }catch(SQLException e){   
              e.printStackTrace() ;   
        }   
     }   

     if(con != null){
         try{   
            con.close() ;   
         }catch(SQLException e){   
            e.printStackTrace() ;   
         }   
     }
  }catch(Exception exp){
    exp.printStackTrace();
  }  
 }
}

测试结果令人惊讶:100万条的记录,获得以后,连接已经断开(数据库服务器shutdown)。

可以正常输出。

原文地址:https://www.cnblogs.com/gaojian/p/2648705.html