Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Соответствие
Введенная версия: соответствие стандартам ODBC 3.8: отсутствует
Сводка
SQLCompleteAsync можно использовать для определения завершения асинхронной функции с помощью обработки на основе уведомления или опросов. Для получения дополнительной информации об асинхронных операциях см. раздел «Асинхронное исполнение».
SQLCompleteAsync реализован только в ODBC Driver Manager.
В режиме асинхронной обработки на основе уведомлений SQLCompleteAsync должен быть вызван после того, как менеджер драйверов поднимает объект событий, используемый для уведомления. SQLCompleteAsync завершает асинхронную обработку, а асинхронная функция генерирует возвратный код.
В режиме асинхронной обработки на основе опросов SQLCompleteAsync является альтернативой вызову исходной асинхронной функции без необходимости указывать аргументы в исходном вызове асинхронной функции. SQLCompleteAsync можно использовать независимо от того, включена ли библиотека курсоров ODBC.
Syntax
SQLRETURN SQLCompleteAsync(
SQLSMALLINT HandleType,
SQLHANDLE Handle,
RETCODE * AsyncRetCodePtr);
Arguments
HandleType
[Ввод] Тип ручки, на которой следует выполнять асинхронную обработку. Допустимые значения — это SQL_HANDLE_DBC или SQL_HANDLE_STMT.
Дескриптор
[Ввод] Ручка для выполнения асинхронной обработки. Если Handle не является действительным дескриптором типа, указанного в HandleType, SQLCompleteAsync возвращает SQL_INVALID_HANDLE.
Если Handle не является действительным дескриптором типа, указанного в HandleType, SQLCompleteAsync возвращает SQL_INVALID_HANDLE.
AsyncRetCodePtr
[Выход] Указатель на буфер, который будет содержать код возврата асинхронного API. Если AsyncRetCodePtr равно NULL, SQLCompleteAsync возвращает SQL_ERROR.
Returns
SQL_SUCCESS, SQL_ERROR, SQL_NO_DATA или SQL_INVALID_HANDLE.
Diagnostics
Если SQLCompleteAsync возвращает SQL_SUCCESS, приложение должно получить возвратный код асинхронной функции из буфера, на который указывает AsyncRetCodePtr. Связанное SQLSTATE, если оно имеется, можно получить, вызвав SQLGetDiagRec с помощью HandleType SQL_HANDLE_STMT и оператора или HandleType SQL_HANDLE_DBC и дескриптора соединения. Эти диагностические записи связаны с асинхронной функцией, а не с этой функцией SQLCompleteAsync .
SQLCompleteAsync возвращает код, отличный от SQL_SUCCESS, чтобы указать, что SQLCompleteAsync вызывается неправильно. SQLCompleteAsync не будет публиковать диагностические записи в этом случае. Возможные коды возврата:
SQL_INVALID_HANDLE: Дескриптор, указанный HandleType и Handle , не является действительным.
SQL_ERROR: AsyncRetCodePtr — это NULL или асинхронная обработка не включена на дескрипте.
SQL_NO_DATA: В режиме уведомления асинхронная операция не выполняется или менеджер драйверов не уведомляет приложение. В режиме опросов асинхронная операция не выполняется.
Comments
В режиме асинхронной обработки на основе опросов AsyncRetCodePtr может быть SQL_STILL_EXECUTING, когда SQLCompleteAsync возвращает SQL_SUCCESS. Приложение должно продолжать опросы до тех пор, пока AsyncRetCodePtr не будет SQL_STILL_EXECUTING. В режиме асинхронной обработки на основе уведомлений AsyncRetCodePtr никогда не будет SQL_STILL_EXECUTING.