2009-08-16 14 views
3

Ich habe vor kurzem Threads für Abfragen an eine MySQL-Datenbank angewendet, ich verwende MyDAC für die Verbindung mit DB, weil TMyConnection nicht gleichzeitig Abfragen für eine Verbindung erstellen, ich eine neue Verbindung erstellen und ein neues Abfrageobjekt für jeden Thread, der eine Abfrage ausführt, sodass zu bestimmten Zeiten passieren kann, dass der Server mehrere Verbindungen pro Client hat. Wenn wir dieses Szenario für mehrere Clients in Betracht ziehen, die sich mit der Datenbank verbinden, wäre das ein Problem, denke ich. Gibt es eine bessere Lösung für die Verwendung von Threads in Abfragen?Verwenden von Multithreading zum Erstellen von Abfragen in Delphi

Vielen Dank im Voraus

Antwort

2

Verwenden Sie eine zweite Ebene, wo Sie einige Verbindungen bündeln können (Sie mit DataSnap oder remobjetcs tun können ...) Auf diese Weise können Verbindungen der alle Benutzer und mantain die Anzahl der Verbindungen wiederverwenden können in einer kleineren Ebene.

+0

Wissen Sie, wo ich ein Beispielprojekt für Ihre Lösung bekommen kann? oder kannst du mir von Büchern erzählen, in denen ich mehr über dieses Thema erfahren kann? Danke –

+1

Suchen Sie nach Datasnap 2009 in Google, es gibt Tonnen von Informationen, Videos, Präsentationen darüber. Eine Beispielanwendung kann http://cc.embarcadero.com/Item/26057 sein. Für remObjects SDK: http://devcenter.remobjects.com/articles/?id={761A0669-1445-4B5F-908C-6DE3ACC3ABA4} –

0

einen Blick Cary Jansen Artikel namens

Using Semaphores in Delphi, Part 2: The Connection Pool

Er geht in sehr ausführlich darüber, wie ist

Ersten Thread-sicheren Zugriff auf eine begrenzte Anzahl von Datenbankverbindungen zur Verfügung zu stellen code arbeiten mit MyDac - TMyConnection ist trivial.

Verwandte Themen