Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Too many connections (https://www.delphipraxis.net/133544-too-many-connections.html)

Ykcim 4. Mai 2009 12:47

Datenbank: MySQL • Version: 5 • Zugriff über: C-Api

Too many connections
 
Hallo Zusammen,

ich habe eine Delphi Anwendung, mit der ich ohne Komponenten auf einen MySQL Server zugreife. Nach einigen Aktionen beschwert sich dieser, dass zu viele Verbindungen bestehen.

Ich habe dann mal nachgesehen und bemerkt, dass die Verbindungen nicht wieder geschlossen werden. Damit ist also nicht die maximale Verbindungsanzahl das Problem, sondern das beenden der Verbindungen...

Hier sind meine Codes:

Connect:
Delphi-Quellcode:
procedure connect;
begin
  host:= 'localhost';
  user:= 'root';
  pass:= '01971156';
  db:= 'NedCom';
  _myCon := mysql_init(nil);
  if _mycon=nil then
  begin
    showmessage('Nicht genügend freier Speicher!');
    Exit;
  end;
  if mysql_real_connect(_mycon, host, user, pass,db, 3306, nil,0)=nil then
  begin
    showmessage('Die Verbindung konnte nicht hergestellt werden! Ursache:' + mysql_error(_mycon));
    exit;
  end;
end;
Disconnect:
Delphi-Quellcode:
procedure disconnect;
begin
  mysql_close(_mycon);
end;
Hat jemand eine Idee, wie ich die Verbindungen "ganz" beenden kann?

Danke

Ykcim

hoika 4. Mai 2009 14:06

Re: Too many connections
 
Hallo,

setze mal nen Breakpoint auf das connect und disconnect.

Kann es sein, dass du connect mehr als einmal aufrufst ohne ein disconnect ?

Kennst du übrigens auch dieses interessante Tutorial ?

MySQL ohne Komponenten


Heiko

Ykcim 4. Mai 2009 15:30

Re: Too many connections
 
Hallo hoika,

danke, ich hatte leider wirklich einige connects ohne disconnects laufen. Ich dachte, dass ein disconnect alle vorhandenen Verbindungen schließt - dumm! :oops:

Danke für den Tip

DeddyH 4. Mai 2009 15:33

Re: Too many connections
 
mysql_close erwartet ja die Verbindungskennung als Parameter, daher wird auch nur diese Verbindung geschlossen.

hoika 4. Mai 2009 15:36

Re: Too many connections
 
Hallo,

in deinem Fall ist es sogar noch schlimmer.
Du hast wohl eine globale Variable für die Connection.

Wird connect 2mal aufgerufen, überschreibt das 2. connect
den Pointer des 1. connect und du kommst nicht mehr ran.


Heiko

Ykcim 6. Mai 2009 16:26

Re: Too many connections
 
Danke für die Hilfe. Ich habe es jetzt so geschaltet, dass es nicht mehr nöglich ist, dass zwei Connections zu verwenden und seit dem funzt es!

Noch mal Danke
Ykcim


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