![]() |
Firebird installiert
Hallo,
ich habe im Forum keine Antwort gefunden. Wie kann ich aus Delphi heraus prüfen, ob Firebird installiert ist. Ein Programm erzeugt die Datenbank. Im Moment habe ich den Aufruf TibDatabase.CreateDatabase mit try except gekapselt und fordere im exept auf, die Datenbank Installation zu prüfen. Ich hätte es gern eleganter, so daß bereits beim Start des Programms eine Meldung kommt: "Bitte installieren Sie erst die Datenbank". Für einen Tip dankbar. Gruß Peter |
Re: Firebird installiert
Muss das DBMS lokal laufen?
Dann könnte man nach dem Namen des Dienstes suchen. Oder auf den Port zugreifen, Service API verwenden. |
Re: Firebird installiert
|
Re: Firebird installiert
Hi,
ich denke, dass Exceptionbehandlung hier schon richtig ist. Es sollte auch ein Ereignis onError oder so an der Connection geben. Dann kann man sehr elegant die Errorcodes auswerten:
Delphi-Quellcode:
Cu, Frank
case ERRCODE of
isc_login {335544472}: msg := 'Benutzername oder Passwort falsch'; isc_shutdown{335544528}: msg := 'Datenbank heruntergefahren - Wartung'; isc_network_error{335544721}: msg := 'Kein Server gestartet'; ... end; |
Re: Firebird installiert
- um zu ermitteln, ob denn überhaupt eine Datenbankverbindung möglich ist, würde ich erst einmal nachgucken, ob die Client-DLL da ist.
- wenn der DB-Server lokal vorliegen soll (warum auch immer) würde ich nachgucken, ob der entsprechende Dienst installiert ist Dannach dann das beschriebene Exceptionhandling, da ein installierter DB-Dienst bzw. eine vorliegende Client-DLL noch keine Funktion garantiert Gruß onlinekater PS: @mschaefer Von der Überprüfung des Ports kann ich nur abraten, da dieser für den Firebird/Interbase frei wählbar ist. Außerdem, wer garantiert mir, dass nicht irgend jemand anderer den Port für sich registriert? |
Re: Firebird installiert
du kannst beim programmstart das datenmodul createn und wenn dabei eine exception auftritt, ist Firebird nicht installiert, so habe ich es gemacht und es funktioniert.
|
Re: Firebird installiert
Zitat:
Das Programm ist Bestandteil einer Installation. Ich möchte eigentlich am Anfang schon prüfen, ob Firebird überhaupt vorhanden ist und wenn nicht, dann erst die Fb Installation starten. Da Datenbanken FB 1.5 und >= 2.0 nicht mehr kompatibel sind, müsste ich ja auch noch die installierte Version prüfen. Der Anwender müsste dann über ein Update entscheiden. Einfach die neuere Version drüberbüglen, da mache ich mir bestimmt keine Freunde. Gruß Peter |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Ich denke, das ist hier besser aufgehoben. |
Re: Firebird installiert
Zitat:
Ich würde hier auch keine Automatik verwenden, sondern den Anwender fragen. Er könnte ja auch wünschen auf einen externen Datenbestand zuzugreifen. Bei rein lokaler Verwendung wäre vielleicht auch die embedded-Version eine Alternative oder du startest die passende Serverversion, welche du in ein Unterverzeichnis deines Programmes kopierst, bei Programmstart; so machen es auch andere. |
Re: Firebird installiert
Zitat:
Ich verwende (noch) IBObjects und da kann eine FB 2.0 nicht mit Datenbanken, die unter 1.5 erstellt wurden und umgekehrt. Bereits beim Connect zu der Datenbank kommt ein Fehler. Für solche Fälle hilft im IBexpert Backup der Datenbank und Restore unter 2.0. Die Anwendung ist übrigens eine große Netzwerkanwendung, die ich von Paradox auf FB umgestellt habe. Das Tool muß einmalig auf dem Server laufen und konvertiert die Paradoxdaten nach FB. Aus diesem Grund muss ich auch prüfen, ob die korrekte FB Version installiert ist. Gruß Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz