Reconnect bei Abruch der Verbindung zu Interbaseserver
-
Wie kann ich einen reconnect auf eine Interbasedatenbank machen ?
Das Problem ist das ein Rechner über Modem angeschlossen ist.
Wenn nun die Datenbankverbindung (IBDatabase) abreist geht natürlich ein Operation (Insert,Update,Select) auf die Datenbank daneben.
Habe Versucht bevor ich eine Operation ausführe den Rechner anzupingen und anschließend einen neue Connect zu machen.
Das hat aber nicht funktioniert.
Hat irgend jemand einen Tip für mich ?Rainer
-
Hallo RaKo,
dazu ist der Interbaseguardian zuständig. Es passiert immer mal, das der Interbaseserver abkachelt. Unter NT, W2k, XP laufen der InterbaseGuardian und der InterbaseServer normalerweise als Dienst. Der Guardian hat den AutoStarttyp "Automatisch", der InterbaseServer steht auf "manuell". Beide sollten den Status "Gestartet" haben.
Ich hoffe, das hilft...
Grüße Jürgen
-
hi,
hilft zwar nicht weiter aber mich würde mal interessieren, wenn der nutzer einen hub besitzt und dieser aufgrund fehlender transaktionen die verbindung kappt, wie das dann gelöst wird?
ich kenne mich leider nicht so gut aus aber ich hatte so ein ähnliches problem. viele nutzer haben ihren hub so eingestellt, dass wenn keine kommunikation raugeht, dieser die internetverbindung kappt. dann würde diese lösung nicht viel weiterhelfen, oder?
warum überprüfst du voher nicht ob eine verbindung überhaupt besteht? oder du schickst alle paar minuten ein sql statement an den server, damit die verbindung bestehen bleibt.
allerdings entnehme ich aus deiner antwort, dass du dies schon versucht hast. nur was genau bedeutet klappt nicht.?
-
*keiner*:
Bist du sicher, dass du weisst, was ein Hub ist?
Du meinst nicht zufällig das (DSL)Modem?Juergen Vogt schrieb:
dazu ist der Interbaseguardian zuständig
Nur auf dem Server oder oder auch auf den Clients? Denn ersteres würde letzteren ja nicht wirklich weiterhelfen, insbesondere, wenn die Netzwerkverbindung unterbrochen ist. Und meines Wissens überwacht der IBGuardian ohnehin nur das Serverprogramm selbst, nicht eventuelle Verbindungen.
Rako:
"Hat nicht funktioniert" ist keine besonders aussagekräftige Problembeschreibung.
-
sorry meinte einen router.
das mit der aussagefähigkeit von "hat nicht geklappt" hab ich aber auch schon erwähnt...
-
Hallo,
so, nun funktioniert es.
Ich führe zuerst eine SQL-Anweisung auf die Datenbank aus. Wenn diese nun Fehlschlägt (try,catch) dann überprüfe ich mit IBDatabase->TestConnected() ob die Datenbank Verbindung noch vorhanden ist und starte sie gegebenfalls neu.
Mein erster Versuch hatte nicht funktioniert weil ich ein merkwürdiges Problem mit meinem C++Builder 6 habe. Dieser compiliert zwar alles und zeigt im Debugger auch die Breakpoints an, aber beim Testen werden die Funktionen nicht angesprungen obwohl sie benutzt werden.
Wenn ich die Anwendung komplett neu erstellen lasse funktionieren sie.
Aber das ist ein anderes Problem und soll hier nicht besprochen werden.Rainer
PS. An Jansen!!!!
Ich weis, nur eine Frage pro Thread!!!!!!