Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: läuft der Firebird Server ? - ohne vohandene Datenbank

  Alt 9. Okt 2008, 15:01
Hi,

Zitat von sx2008:
2.) prüfen, ob in der Datei %SYSTEM32%\etc\drivers\protocol ein Eintrag vorhanden ist, der mit "gds_db" beginnt
Falls der Eintrag fehlt, grosse Fehlermeldung ausgeben, dass der Administrator das ändern muss
bzw. selbst versuchen die Zeile
Code:
gds_db           3050
anzuhängen.
was das bringen soll ist mir echt ein Rätsel. Es gehört zum "guten Ton" dass eine Anwendung die einen Port benötigt sich dort auch einträgt - funktionell spielt das absolut keine ROlle.

Wenn da kein Eintrag ist, vermute ich ganz stark, dass die FB-Installation durch das Entpacken der ZIP-Datei vorgenommen wurde und nicht mit dem Setup-Programm.


Zitat von haentschman:
...ich weiß nicht ob Ihr´s wußtet Wink
erschwerend ist noch, daß ich das ZConnection.Connect in einem try/except Block stehen habe. Nun lese ich im AfterConnect diverse Daten ein. Tritt in einer dieser Einleseproceduren ein Fehler auf läuft das Programm in den except Block von ZConnection.Connect. Grübelnd...
d.h. ich kann im Moment nicht richtig unterscheiden wo der Fehler auftritt...
- Als Lösung fiel mir bisher nur ein, daß ich eine Variable entsprechend der Ablaufposition setze und diese dann im except auswerten kann und somit die Fehlerposition eingrenze.
...andere Vorschläge sind auch willkommen Thumbs up!
Ist doch ganz einfach: Mach vor dem eigentlichen Connect auf die DB einen Connect mit einer weiteren ZConnectionInstanz - bzw. schreib dir ne Methode:

Delphi-Quellcode:
function IsFBServerRunning(AServerIP:String):Boolean;
var oZConnection:TZConnection;
begin
  oZConnection:=TZConnection.Create();
  try
    oZConnection.xxx:=AServerIP;
    try
      oZConnection.Connect;
      result:=true;
    except
      result:=false;
    end;
  finally
    FreeAndNil(oZConnection);
  end;
end;
Hinweis: Den Code habe ich "frei Hand" geschrieben - keinen Anspruch auf Vollständigkeit!

wenn Du es noch besonders korrekt machen willst, überprüfst Du im Except-Fall einfach die zurückgelieferte Exception ab und wertest die aus. Noch eine Verbesserung: Du kannst den Server ja vor dem eigentlichen Connect mit der TZConnection auch noch anpingen - dann weißt Du wenigstens dass sich grundsätzlich jemand meldet....

Grüße
Lemmy
  Mit Zitat antworten Zitat