ODBCは非同期呼び出しをサポートしていますか?もしそうなら、参考資料について教えてください。
私の好みの言語はC++です。
次の MSDN 記事が出発点となる可能性があります: Executing Statements ODBC: Asynchronous Execution
記事から:
Windows 7 SDK の ODBC 3.8 では、接続関連の操作で非同期実行が導入されました...アプリケーションは、ポーリング メソッドを使用して非同期操作が完了したと判断しました。Windows 8 SDK 以降では、通知メソッドを使用して非同期操作が完了したことを確認できます。
まったく同じことを知りたかった。明らかな回避策は、それぞれが同期 ODBC 呼び出しを実行し、非同期で通知 (および通知) されるスレッドのプールを維持することです。
通常、そのようなものはアプリケーションの別の抽象化レベルで実装されているか、独自のものを展開しているようです。ブロック可能な「オープン」アクションを含むほぼすべてのものが、オープンを管理し、シグナルを発生させたり、それが発生したときにグローバルにフラグを設定したりする目的でスレッドを生成できます。
一部のフレームワークは、両方のフレーバーを提供することについて非常に優れています。Flex が頭に浮かびます。単一の browser/javascript/swf スレッドでトリックを実行すると便利です。
非同期 ODBC 関数は、ODBC ドライバーによって提供される機能です。
ODBC3.8 より前は、ステートメント関連の呼び出しのみが非同期対応でした。ODBC3.8 接続関連の関数呼び出しの開始も、非同期対応にすることができます。
もちろん、アプリケーション側で不足している機能を実装することはできますが、ドライバーで実装することで、アプリケーション側の負担が軽減されます。
ドライバーがすぐに使用できる非同期呼び出しをサポートしているかどうかを明確に示すドライバーの包括的なリストを探しています。誰かがそれを認識している場合は、そのようなリストを教えてください。