Problem mit DerbyDB

  • Themenstarter Themenstarter Timae
  • Beginndatum Beginndatum
T

Timae

Hi,

ich habe ein Problem und zwar will ich bei der Derby db aus einem Java Programm abfragen ob der Server läuft,
dies mache ich weil ich dem User die möglichkeit geben will eine Datenbank zu erstellen deren name er selbst definieren darf, bei der erst installtion. Dazu muss der Server laufen, die Datenbank darf aber noch nciht installiert sein. --> Wenn die Datenbank schon installiert ist, loggt er sich darauf ein.
Meine frage also ist, kann ich irgendwie abfragen ob ein Server läuft und ob dieser Datenbanken hat? Oder ist das bei Derby grundsätzlich nicht möglich (ich vermute es fast)

für jede Hilfe wäre ich sehr dankbar

Achso evt ginge es auch über eine unterscheidung der Exceptions die geworfen werden wenn der Server nicht läuft, oder die datenbank nicht vorhanden ist.

Fall 1 wirft er folgendes:
java.sql.SQLNonTransientConnectionException: java.net.ConnectException: Fehler beim Herstellen der Verbindung zum Server localhost am Port 1527. Nachricht: Connection refused: connect.


Fall 2 wirft er:
java.sql.SQLNonTransientConnectionException: Die Verbindung wurde zurückgewiesen, weil die Datenbank db nicht gefunden wurde.
 
Hi,

ich weiß nicht, ob du schon eine Lösung für dein Problem hast. Arbeitest du zufällig mit dem Derby-Netzwerkserver? Wenn ja, dann kannst du einen Ping absetzen. Wenn der Server läuft dann is gut, ansonsten bekommst du eine Exception und auf diese kannst du reagieren.

Also z.B.

NetworkServerControl control = new NetworkServercontrol();
try {
control.ping();
} catch (Exception ex) {
LOG.error.....
}

Ob eine Datenbank vorhanden ist kannst du ja prüften, indem du ein Statement auf die Datenbank absetzt. Wenn die Datenbank vorhanden ist, ist´s gut, ansonsten musst du halt auf die Exception reagieren. Welche Exception jetzt hier genau zurückkommt, kann ich gerade nicht sagen. Hab meine Anwendung nicht hier.

Weiß nicht, ob dir das jetzt was hilft?

Viele Grüße

MS-Tech
 
Zurück