2008-11-20 3 views

Antwort

2

Ich wollte genau dasselbe wissen. Eine offensichtliche Problemumgehung besteht darin, einen Pool von Threads zu verwalten, die jeweils synchrone ODBC-Aufrufe ausführen und asynchron signiert (und zurücksignieren).

+0

Was heute herausgefunden, ich habe, ist dies: http://www.codeproject.com/KB/database/asyncrecordset.aspx Es ist ein MFC-Beispiel asynchron ODBC Anrufe, wobei jede Abfrage auf einem Thread wartet, Die Anfrage kann abgebrochen werden, aber es ist NICHT WIRKLICH eine asynchrone Abfrage, bei der wir Datenbrocken bekommen. – Kiril

+0

Asynchron ist im Auge des Betrachters! – Kieveli

0

Normalerweise scheint es, wie solche Dinge in einer anderen Abstraktionsebene einer Anwendung implementiert werden, oder Sie Ihre eigene Rolle. Fast alles, was eine blockierbare "offene" Aktion beinhaltet, kann einen Thread erzeugen, um das Öffnen und das Anheben eines Signals oder das Setzen einer Flagge irgendwo global zu verwalten, wenn es passiert.

Einige Frameworks sind ziemlich gut mit beiden Geschmacksrichtungen. Flex kommt mir in den Sinn, wo es hilfreich ist, mit dem einzelnen Browser/javascript/swf thread zu spielen.

0

Asynchrone ODBC-Funktionen werden vom ODBC-Treiber bereitgestellt.

Pre ODBC3.8 only Anweisung bezogene Anrufe könnten async-aktiviert sein. Das Starten ODBC3.8 verbindungsbezogener Funktionsaufrufe kann auch async-aktiviert werden.

Natürlich können wir jede fehlende Funktionalität auf der Anwendungsseite implementieren, aber die Implementierung im Treiber macht die Sache auf der Anwendungsseite weniger schmerzhaft.

Ich bin auf der Suche nach einer umfassenden Liste von Treibern, die eindeutig angibt, wenn ein Treiber Async-Anrufe out-of-the-Box unterstützt. Bitte zeigen Sie mir auf eine solche Liste, wenn jemand davon Kenntnis hat.

Verwandte Themen