Hallo zusammen,
für einen Webzugriff auf eine Firebirddatenbank habe ich einen Windows-Dienst entwickelt, der über einen IdHTTPServer die abgefragten Informationen bereitstellt.
Bei einem Seitenaufruf über IdHttpServerCommandGet wird in einer eigenen function zunächste eine ZConnection erstellt, diese mit der Datenbank verbunden, eine ZQuery erstellt, die die SQL Abfrage öffnet und aus der sich die Daten der Webseite ergeben. Anschließend gebe ich die Connection und die Query wieder frei.
Das funktioniert soweit auch ohne Probleme.
Allerdings steigt der verbrauchte Arbeitsspeicher sowohl des Firebirdservers als auch meines Dienstes kontinuierlich an, wobei der Speicherverbrauch des Firebirdserver stärker ansteigt. Auf meinem Demosystem läuft das Ganze dann, bis die Speicherauslastung bei 99% ist und dann auf Grund fehlendem Arbeitsspeicher nichts mehr geht.
Es wirkt auf mich so, als ob die Connections trotz der Freigabe über ZConnection.free; nicht wirklich freigegeben werden.
Habt ihr dazu eine Idee oder einen Rat?