AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Connection Fehler von MYSQL Server auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

Connection Fehler von MYSQL Server auswerten

Ein Thema von ggscholz · begonnen am 10. Jul 2023 · letzter Beitrag vom 10. Jul 2023
Antwort Antwort
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
64 Beiträge
 
Delphi 11 Alexandria
 
#1

Connection Fehler von MYSQL Server auswerten

  Alt 10. Jul 2023, 14:00
Datenbank: MYSQL • Version: 10 • Zugriff über: DEVART mysql
Hallo in die Runde,

ich versuche jetzt schon etwas länger, eventuell falsche Angaben im Connection String mit den Rückgabewerten des MYSQL Servers auszuwerten.

Für die Verbindung mit TUniConnection von DEVART zur MYSQL Datenbank wird u.a. (das Übliche) Username, Passwort, IP-Adresse, Port etc. bei einer ersten Installation des Programms abgefragt. Das sind sechs Felder, in denen irgendwelche fehlerhafte Daten vom Benutzer eingetragen werden könnten. Das würde ich gerne so auswerten, das nicht nur das übliche "Access Denied for User ‘root’@’localhost’" aufploppt, sondern z.B. IP-Adresse oder Port etc. falsch . MYSQL sendet entsprechende Zahlencodes die ich in
Code:
E: EDAError
auswerten könnte.

Dazu muss ich aber
Code:
fMainForm.coMariaDb.Connected = true
oder
Code:
fMainForm.coMariaDb.Connect
oder auch
Code:
open
aufrufen, mit der Folge, das es bei fehlerhaften Angaben ein ConnectionTimeOut gibt und danach erst mit der Auswerten des Fehlercodes weitergeht (leider nur wenn ich das fertige Programm außerhalb von Delphi starte).

Im Debug Modus komme ich überhaupt nicht weiter, Delphi bleibt dann in der Zeile
Code:
fMainForm.coMariaDb.Connect
hängen und möchte gerne, das ich abbreche.

Meine bisheriges Suchen zu diesem Thema hat mich nicht wirklich weitergebracht. Daher hoffe ich, hier Hilfe zu finden.
  1. Im Debugmodus trotz ConnectionTimeOut weiter Debuggen, was muss ich da machen?
  2. Die Meldung ConnectionTimeOut unterbinden?

Best Grüße Gerd
Gerd
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
379 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Connection Fehler von MYSQL Server auswerten

  Alt 10. Jul 2023, 14:38
Ein try except Block um Dein connect sollte Dich deutlich weiterbringen...
  Mit Zitat antworten Zitat
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
64 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Connection Fehler von MYSQL Server auswerten

  Alt 10. Jul 2023, 14:54
@stifflersmom
Delphi-Quellcode:
try
myDbConnection.connect;
except
on E: EDAErorr......
habe ich so gemacht, Delphi bleibt aber im Debugmodus beim connenct hängen und weigert sich, nach der Timeout Meldung weiter durchs Programm zu gehen.

Grüße gerd
Gerd

Geändert von ggscholz (10. Jul 2023 um 17:44 Uhr) Grund: Korrekturen
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Connection Fehler von MYSQL Server auswerten

  Alt 10. Jul 2023, 22:37
Dann ist es vielleicht kein
Code:
EDAErorr
?
Ansgar Becker
https://www.heidisql.com
Wenn du loslässt, hast du zwei Hände frei.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#5

AW: Connection Fehler von MYSQL Server auswerten

  Alt 10. Jul 2023, 23:52
Zitat:
Access Denied for User ‘root’@’localhost
Zitat:
Rückgabewerten des MYSQL Servers auszuwerten
Fehlermeldungen des Servers kommen natürlich nur, wenn der Datenbank-Server antwortet.

Also z.B. bei falschem NutzerName oder Passwort.

Ein falscher Host/IP/... oder Port und schon kann der DB-Server garnicht antworten,
womit also der Fehler von der Connection-Komponente kommt.



Es kann passieren, dass es keinen Timout gibt, bzw. dass er nicht so lange dauert, wie man angibt.
Bei pgDAC und auch DataSnap habe/hatte ich mal so ein Problem. Egal was ich bei den TimeOut-Property angab, es dauerte meistens viel länger.

Das Problem wurde dann ganz einfach gelöst.
Der Hersteller entfernte einfach diese Property (in neueren Versionen für ein aktuelleres Delphi)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (11. Jul 2023 um 00:07 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz