Могу ли я сделать асинхронные вызовы ODBC? Какие-либо справочные материалы? - PullRequest
5 голосов
/ 20 ноября 2008

Поддерживает ли ODBC асинхронные вызовы? Если да, то можете ли вы рассказать мне о каких-либо справочных материалах?

Мой любимый язык - C ++.

Ответы [ 4 ]

4 голосов
/ 21 ноября 2008

Эта статья MSDN может быть отправной точкой для вас: Выполнение операторов ODBC: Асинхронное выполнение

2 голосов
/ 20 ноября 2008

Я хотел знать точно то же самое. Очевидным обходным решением является поддержание пула потоков, каждый из которых выполняет синхронные вызовы ODBC и сигнализирует (и возвращает сигнал) асинхронно.

0 голосов
/ 16 апреля 2012

Асинхронные функции ODBC - это функция, предоставляемая драйвером ODBC.

До ODBC3.8 только вызовы, связанные с оператором, могли быть включены с асинхронной поддержкой. При запуске вызовов функций, связанных с соединением ODBC3.8, также можно сделать асинхронным.

Конечно, мы можем реализовать любую недостающую функциональность на стороне приложения, но ее реализация на драйвере делает вещи менее болезненными на стороне приложения.

Я ищу полный список драйверов, в которых четко указано, поддерживает ли драйвер асинхронные вызовы «из коробки». Пожалуйста, укажите мне на такой список, если кто-нибудь знает о нем.

0 голосов
/ 21 ноября 2008

Обычно кажется, что такие вещи реализованы на другом уровне абстракции приложения, или вы катаетесь самостоятельно. Почти все, что включает в себя блокируемое «открытое» действие, может порождать поток с целью управления открытием и повышения сигнала или установки флага где-нибудь глобально, когда это происходит.

Некоторые фреймворки довольно хороши, предлагая оба варианта. На ум приходит Flex, где полезно играть с одной веткой browser / javascript / swf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...