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)。
可以正常输出。