ADOConnection im Thread

04/10/2007 - 17:04 von Stefan Koschke | Report spam
Hallo zusammen,

ich mühe mich immer noch, in einem Thread den ich erzeuge. mehrere
ADOConnections und ADOQuerys zu erzeugen, zu benutzen und freizugeben.
Das funktioniert über einige Zeit (mehrere 30 Threads wurden erzeugt,
abgearbeitet und freigegeben) und dann irgendwann knallt's mit
Fehlermeldungen.
Wenn man dan der Stelle schrittweise debuggt, landet man nach einigen Zeilen
in ADODB.pas beim Connection.free einer der am Beginn erzeugten Connections.
Ich weiß nicht mehr wo ich noch ansetzen soll und dabei kommt noch die Frage
auf, ob Connectons wirklich erforderlich sind?
Ich kann doch der Query direkt einen ConnectionString übergeben, oder sehe
ich da was falsch?

Ciao
Stefan
 

Lesen sie die antworten

#1 Rene Kadner
11/10/2007 - 16:11 | Warnen spam
Hallo Stefan,

ich glaube mich erinnern zu können, dass es nur eine begrenzte Anzahl
gleichzeitiger ADO Connections geben kann. Auch werden diese automatisch in
einem Connection-Pool verwaltet. Zu sehen ist da aber nichts, ist wohl alles
voll transparent und von M$ verwaltet. Ob Du nun den ConnectionString
übergibst oder ein ConnectionObjekt ist letztlich wohl egal. Setzt Du im
ADODataSet nur den Conectionstring wird das ConnectionObjekt sicher im
Hintergrund erzeugt. Mach doch mal folgendes: Erzeuge nur EINE Connection
zum Programmstart und gibt dieses Objekt jedem Thread mit. Zum Programmende
schließt Du diese Connection wieder. So mache ich es jedenfalls (einziger
Unterscheid: Ich verwende keine Threads).

Wen Du noch fragen könntest, wàre Andreas Kosch. Er hat dazu auch Bücher
geschrieben und dürfte in diesem Thema wohl Topfit sein. Erreichen kannst Du
ihn im Entwicklerforum http://entwickler-forum.de/index.php

Gruß
René

Ähnliche fragen