![]() |
MySQL Komponente - Serverdisconnect?
Hi!
Ich betreibe zuhause einen kleinen Webserver und programmiere ausserdem recht häufig in Delphi. Aber wie kommt es das keine der mir bekannten MySQL Komponenten (nicht Zeos und auch nicht TMySQLClient) es bemerken wenn der MySQL Server offline geht? Hat jemand einen Lösungsvorschlag oder eine Anmerkung zu diesem Thema? MFG Dj_GL |
Re: MySQL Komponente - Serverdisconnect?
Hi,
versuche doch mal die Komponenten für den direkten Zugriff: ![]() Ich hoffe das hilft, viel Spaß, Barnti |
Re: MySQL Komponente - Serverdisconnect?
Zitat:
Bei den ![]() |
Re: MySQL Komponente - Serverdisconnect?
Hi,
kannst Du Dein Problem vielleicht genauer schildern? Wenn der Server nicht mehr online ist erhälst Du sicher einen Fehler... Willst Du diesen vor einenm Verbindungsaufbau testen? Oder was genau ist dabei Dein Anliegen? |
Re: MySQL Komponente - Serverdisconnect?
Ich bin zwar nicht der Fragesteller, aber ich kenne das Problem, also antworte ich dir mal.
Du hast einen MySQL-Server(nicht localhost). In deinem Delphi-Prog. hast du deine Connection zu DB hergestellt. Die Verbindung steht und nun zieht dir ein gemeiner Mensch das Netzwerkkabel aus der Dose. Nun ist es egal ob du Zeos- oder Microolapkompos hast. Sie bekommen vom disconnect zum Server nicht's mit. Darum geht es. Du wirst jetzt sicher sagen: "das mit dem Kabel ist ziemlich weit hergeholt". Aber: Bei mir ist es so, das meine DB im Internet steht. Verbunden werde ich über einen Proxy. Wenn sich eine Weile nichts getan hat, legt der Proxy einfach auf und das Programm kommt an der Stelle nicht mehr weiter, weil es garnicht weiss, das ein disconnect stattgefunden hat um neu zu connecten. |
Re: MySQL Komponente - Serverdisconnect?
Nein ich bekomme keinen fehler gar nichts.... nicht mal nach einiger Zeit.
Mal abgesehen davon das jemand das Netzwerkkabel abzieht .... Auch wenn ich den MySQL Server ganz normal herunterfahre reagiert die Komponente nicht darauf. Und das muss die Komponente doch merken wenn die TCP Verbindung futsch ist. |
Re: MySQL Komponente - Serverdisconnect?
Zitat:
Zitat:
Zitat:
|
Re: MySQL Komponente - Serverdisconnect?
Eine Komponente merkt es genau dann, wenn sie eine Art Pingsystem benutzt. Wie soll sie auch merken, dass der Server offline geht, der Server kann in diesem Fall ja nicht Bescheid sagen :wink:
Wie gesagt, einzige Möglichkeit: in regelmäßigen Abständen wird eine kleine Anfrage an den Server geschickt. Kommt ein Ergebnis, läuft der Server, ansonsten nicht. Natürlich sollte diese Anfrage möglichst wenig Traffic verursachen und möglichst wenig Rechenleistung des Servers beanspruchen. |
Re: MySQL Komponente - Serverdisconnect?
Jahaaaa ich weiß ja das Sie es nicht merkt aber gibts da keinen Lösungsansatz dafür?
Ich mein ich habs jetzt mal mit nem Clientsocket gemacht der einfach parallel zur MySQL Komponente eine Verbindung aufbaut ..... aber das ist halt mehr ne Notlösung. |
Re: MySQL Komponente - Serverdisconnect?
Nein ob eine TCP Verbindung abreist kann man auch ohne Ping oder ähnlichem feststellen.
TCP ist ja Verbindungsorientiert .... |
Re: MySQL Komponente - Serverdisconnect?
Zitat:
Wenn ich die Spezifikationen noch richtig im Kopf habe, gibt es keine periodisch ausgetauschten TCP-Pakete beim TCP-Protokoll. Will man das Abreisen einer Verbindung automatisch feststellen, muss das von einer höheren Netzwerkschicht übernommen werden. Offensichtlich macht das MySQL nicht. Verbdinungsorientiert bedeutet bei TCP, dass zunächst einmal die Verbindung ausgehandelt wird (Stichwort: Handshake) und jedes empfangene Paket quittiert wird. |
Re: MySQL Komponente - Serverdisconnect?
Gut dann sag mir warum der ClientSocket ganz normal bemerkt wenn der MySQL Server offline geht?????
Außerdem sollte eine MySQl Komponente zumindest schon merken wenn der MySQL Server ganz normal heruntergefahren wird. |
Re: MySQL Komponente - Serverdisconnect?
Außerdem arbeite ich inzwischen doch schon 4 Jahre mit TCP Sockets also sollte ich das schon wissen
|
Re: MySQL Komponente - Serverdisconnect?
Zitat:
Ich habe doch am Anfang einen Link eingestellt. Das Prinzip dort wäre ein Ansatz. Den es besteht selbst nachdem man wie auch immer, bemerkt hat, das keine TCP/IP Verbindung mehr besteht, das Problem, die Komponente zu disconnecten. |
Re: MySQL Komponente - Serverdisconnect?
Na das mach ich doch mit meinem ClientSocket auch bereits ..... aber ich dachte es gibt da vielleicht eine Erweiterung des Codes das der disconnect von der Komponente selbst erkannt wird.
Ich find das nicht lustig das man da hundert Sachen rundrumbasteln muss bis es funktioniert. |
Re: MySQL Komponente - Serverdisconnect?
Wenn du dich mit dem TCP-Protokoll so gut auskennst, dann kannst du mir ja bestimmt sagen, wie das Paket eines periodischen Verbindungstest aufgebaut ist.
|
Re: MySQL Komponente - Serverdisconnect?
Zitat:
|
Re: MySQL Komponente - Serverdisconnect?
Wofür?
Der MySQL Client ist doch auch auf WinSock aufgebaut ... da ist doch die ganze Verbindung schon definiert und normalerweise sollte da zumindest normale disconnects auch erkannt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 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 by Thomas Breitkreuz