sql >> Database >  >> RDS >> Oracle

programmatisch controleren op open verbinding in JDBC

Iets als:

Statement stmt = null;
ResultSet rs =null;
try {
   stmt = conn.createStatement();
   // oracle
   rs = stmt.executeQuery("SELECT 1 FROM Dual");
   // others
   // rs = stmt.executeQuery("SELECT 1");
   if (rs.next())
      return true; // connection is valid
}
catch (SQLException e) {
   // TODO : log the exception ...
   return false;
}
finally {
   if (stmt != null) stmt.close();
   if (rs != null) rs.close();
} 

Merk op dat als de verbinding afkomstig is van een verbindingspool (bijvoorbeeld in een toepassingsserver), de pool een mechanisme kan hebben om te controleren of een verbinding geldig is of niet. Met BEA specificeert u de SELECT in de eigenschap "test-on-reserve".

Als u uw eigen pool aan het ontwikkelen bent, wilt u misschien eens kijken hoe anderen het doen (bijv. Proxool).



  1. SQL Inner Join

  2. mysql na invoegtrigger die de kolom van een andere tabel bijwerkt

  3. Wordt het MariaDB JDBC-stuurprogramma beïnvloed door de Log4j-kwetsbaarheid?

  4. Foutcode:1005. Kan tabel '...' niet maken (fout:150)