Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wann wird die Verbindung geschlossen? (https://www.delphipraxis.net/95640-wann-wird-die-verbindung-geschlossen.html)

TheMiller 10. Jul 2007 20:47

Datenbank: MySQL • Version: 5.1 • Zugriff über: ZEOS

Wann wird die Verbindung geschlossen?
 
Hallo,

eine Frage: Habe ja das problem, dass manchmal der Fehler "MySQL-Server has gone away" auftaucht. Meine Verbindung zur DB wird beim Programmstart und beim Schließen hergestellt / geschlossen.

Bei PHP ist es so, dass beim laden der Seite die Verbindung hergestellt und nach dem Laden der Seite die Verbindung geschlossen wird.

Jetzt möchte ich das in meinem Programm genauso machen. Im "schlechtesten" Falle muss ich die verbindung halt immer wieder neu herstellen, wenn ich was von der DB will. Das dürfte doch aber auch nicht schlimm sein. Oder macht man das hinsichtlich eines guten Stils sowieso?

Jede Anfrage würde so aussehen:

Delphi-Quellcode:
ZConnection1.Connect;
ZQuery1.SQL.Text:='SELECT * FROM foo;';
ZQuery1.Open;
while not (ZQuery1.Eof) do
begin
  ...
end;
ZConnection1.Disconnect;
Dankeschön

CalganX 10. Jul 2007 20:54

Re: Wann wird die Verbindung geschlossen?
 
Hi,
meistens gibt es bei Servern die Möglichkeit eine Verbindung auf KeepAlive zu setzen, so dass die Verbindung noch länger offen gehalten wird. Ich bin mir gerade nur nicht sicher, ob du das über die Verbindung selber steuern kannst, oder ob du das serverseitig in der my.ini einstellen musst.

Chris

TheMiller 10. Jul 2007 20:57

Re: Wann wird die Verbindung geschlossen?
 
Das macht nix. Ich administriere die Server. Aber das SP2 trennt die Verbindungen nach einer Weile oder was weiß ich... Deswegen wollte ich es so machen, wie man es in PHP auch macht. Nur dann öffnen, wenn man was will und sofort wieder schließen!

Bernhard Geyer 10. Jul 2007 21:16

Re: Wann wird die Verbindung geschlossen?
 
Zitat:

Zitat von DJ-SPM
eine Frage: Habe ja das problem, dass manchmal der Fehler "MySQL-Server has gone away" auftaucht. Meine Verbindung zur DB wird beim Programmstart und beim Schließen hergestellt / geschlossen.

Überträgst du größere Datenmengen in einer Query (z.B. Blobs) MySQL macht standardmäßig bei 1 MB dicht. Und bei 1 MB ist alles gemeint (Alle Byte die TCP/IP mäßig zu einer abgesendeten Query gehören).

TheMiller 10. Jul 2007 21:18

Re: Wann wird die Verbindung geschlossen?
 
Nein, garnicht. Immer nur kleine kleine Daten (Terminkalender, Barcodes etc...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 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