Hallo,
ich verwende eine HSQL Datenbank und prüfe im Rahmen der Fehlerbehandlung die Erreichbarkeit der Datenbank (bevor ich auf sie zugreife), damit keine Datenbankfehler auftreten können.
Allerdings denke ich, dass meine Vorgehensweise, wie ich die Erreichbarkeit der Datenbank prüfe, ein wenig langsam ist.
Es dauert ca. 1,5-2 Sekunden, bis die Meldung in meiner GUI ankommt.
Vielleicht fällt ja jemandem eine schnellere Möglichkeit ein.
Erst lade ich den Treiber und anschließend versuche ich eine Verbindung zur Datenbank herzustellen.
Wurde die Verbindung erfolgreich hergestellt, setze ich ein Flag auf true --> itob.setDbReachable(true);
Falls nicht auf false: itob.setDbReachable(false);
Immer wenn ich auf die Datenbank zugreifen möchte, frage ich zuvor das Flag ab, wenn es gesetzt ist, laufen ganz normal die Datenbank Operationen ab und wenn nicht geb ich eine Meldung in einer JTextArea, in der Konsole oder sonstwo aus.
Danke für eure Hilfe.
ich verwende eine HSQL Datenbank und prüfe im Rahmen der Fehlerbehandlung die Erreichbarkeit der Datenbank (bevor ich auf sie zugreife), damit keine Datenbankfehler auftreten können.
Allerdings denke ich, dass meine Vorgehensweise, wie ich die Erreichbarkeit der Datenbank prüfe, ein wenig langsam ist.
Es dauert ca. 1,5-2 Sekunden, bis die Meldung in meiner GUI ankommt.
Vielleicht fällt ja jemandem eine schnellere Möglichkeit ein.
Erst lade ich den Treiber und anschließend versuche ich eine Verbindung zur Datenbank herzustellen.
Wurde die Verbindung erfolgreich hergestellt, setze ich ein Flag auf true --> itob.setDbReachable(true);
Falls nicht auf false: itob.setDbReachable(false);
Code:
public void openDb() {
try {
Class.forName("org.hsqldb.jdbcDriver");
}
catch (ClassNotFoundException e) {
System.err.println("Keine Treiber-Klasse!");
return;
}
try {
//Server Mode:
con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/zigbee;shutdown=true", "sa", "" );
itob.setDbReachable(true);
}
catch (SQLException e) {itob.setDbReachable(false);}
}
Immer wenn ich auf die Datenbank zugreifen möchte, frage ich zuvor das Flag ab, wenn es gesetzt ist, laufen ganz normal die Datenbank Operationen ab und wenn nicht geb ich eine Meldung in einer JTextArea, in der Konsole oder sonstwo aus.
Code:
if(itob.getDbReachable() == true){
//... Datenbankzugriffe ...
}
else status.append("\nDatenbankfehler");
Danke für eure Hilfe.