Hallo Leute,
wie kann mittels ODBCConnection die Verbindung zu der Datenbank geprüft werden? Irgendwie stehe ich hier auf dem Schlauch.
Vielen Dank!
Verbindung zur Datenbank testen?
- af0815
- Lazarusforum e. V.
- Beiträge: 6762
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Verbindung zur Datenbank testen?
Was meinst du genau mit Verbindung geprüft ?Lion hat geschrieben: Do 13. Jun 2024, 13:23 wie kann mittels ODBCConnection die Verbindung zu der Datenbank geprüft werden?
Normalerweise macht man ein Connect und wartet ob das erfolgreich ist. Das ist aber nicht auf ODBCConnection beschränkt. Eine direkte Prüfung ist IMHO nicht möglich. Und ob eine bestehende Verbindung unterbrochen wurde, wird auch nur über Fehler indirekt rückgemeldet. Soweit meine Erfahrung.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Verbindung zur Datenbank testen?
Was spricht dagegen, einen für die Datenbank passenden Test-Zugriff zu machen?
Meistens macht man das mit...
... auf der verbundenen Datenbank. Bei Oracle mag es sein, dass man dafür aber auch 'DUAL' verbinden muss.
Meistens macht man das mit...
Code: Alles auswählen
SELECT 1
-
- Beiträge: 1579
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Verbindung zur Datenbank testen?
Ich habe in einer Datenbank meist eine Tabelle "Param" mit diversen allgemeinen Parametern die für alle gültig sind. Da drin gibt es auch einen Parameter mit der Version der Tabellenstruktur.
Diese Parameter Tabelle hat immer die gleiche Struktur und kann daher, egal mit welcher Programmversion, immer abgefragt werden.
Beim Start vom Programm teste ich diesen Parameter und kann damit einerseits feststellen ob jemand eine veraltete EXE gestartet hat und entsprechend die Eingaben alle sperren oder im umgekehrten Fall, wenn die EXE neuer ist ein automatisches Update durchführen.
Und wenn die Parameter Tabelle schon mal gleich gar nicht vorhanden ist, dann ist es irgend eine Datenbank, jedoch garantiert keine die zum Programm passt.
Diese Methode hat sich seit vielen Jahren bewährt und kann ich daher jedem empfehlen ähnlich zu machen.
Beispiel:
https://elela.de/Hilfe/Index.php?url=Tu ... utDBV4.htm
Im dritten Bild, ganz rechts die Tabelle "param".
Hier die Beschreibung der Parameter, so wie ich es gelöst habe:
https://elela.de/Hilfe/Index.php?url=InstallParam.htm
Vielleicht hilft dir das Beispiel.
Diese Parameter Tabelle hat immer die gleiche Struktur und kann daher, egal mit welcher Programmversion, immer abgefragt werden.
Beim Start vom Programm teste ich diesen Parameter und kann damit einerseits feststellen ob jemand eine veraltete EXE gestartet hat und entsprechend die Eingaben alle sperren oder im umgekehrten Fall, wenn die EXE neuer ist ein automatisches Update durchführen.
Und wenn die Parameter Tabelle schon mal gleich gar nicht vorhanden ist, dann ist es irgend eine Datenbank, jedoch garantiert keine die zum Programm passt.
Diese Methode hat sich seit vielen Jahren bewährt und kann ich daher jedem empfehlen ähnlich zu machen.
Beispiel:
https://elela.de/Hilfe/Index.php?url=Tu ... utDBV4.htm
Im dritten Bild, ganz rechts die Tabelle "param".
Hier die Beschreibung der Parameter, so wie ich es gelöst habe:
https://elela.de/Hilfe/Index.php?url=InstallParam.htm
Vielleicht hilft dir das Beispiel.
EleLa - Elektronik Lagerverwaltung - www.elela.de