天天看点

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)。

可以正常输出。

本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/08/21/2648705.html,如需转载请自行联系原作者