Wie mache ich das Verbindungspooling in DBX?

Gut,Ich habe es geschafft, den Delegiertentreiber ordnungsgemäß einzurichten. Aber das Zusammenlegen von Verbindungen bereitet mir immer noch große Probleme.

Aus den Beschreibungen in der Dokumentation geht hervor, dass das Verbindungspooling folgendermaßen funktionieren sollte:

Richten Sie den DBXPool-Treiberdelegaten für ein einzelnes globales Verbindungsobjekt einVerwenden Sie dieses Verbindungsobjekt für alle Anrufe in die DatenbankJeder DB-Aufruf wird automatisch über den Stellvertreter-Treiber an eine Verbindung weitergeleitet, die für den Thread eindeutig ist und dem Verbindungspool gehört.

In der Praxis stelle ich fest, dass anscheinend immer noch alles vom globalen Connection-Objekt verwaltet wird, was zu allerlei seltsamen Race-Bedingungen und Abstürzen führt, wenn ich versuche, DB-Abfragen von mehreren Threads gleichzeitig auszuführen.

Falls relevant, habe ich nicht viele DBX-spezifische Komponenten definiert. Ich führe normalerweise Abfragen durch, indem ich die anrufeConnection.Execute Methode.

Irgendeine Idee, was ich falsch mache? Vermisse ich irgendwo einen Schritt oder habe ich ein schlechtes Verständnis dafür, wie der DBXPool-Delegiertentreiber funktioniert?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage