Приветствую.
Вопрос заключается в следующем: работа через ODBC интерфейс с БД под управлением Firebird. Обязательно ли перед освобождением дескриптора SQL выражения (SQLFreeHandle(SQL_HANDLE_STMT, qSel)) предварительно закрывать курсор функцией SQLCloseCursor, который как указано в MSDN автоматически создается при исполнении выражения функциями SQLExecute или SQLExecDirect. Или же курсор будет корректно закрыт автоматически.
А вообще может кто сталкивался с подобной проблемой, может не там копаю — подскажите пожалуйста, кто чем может :
Visual C++ 6, ODBC API, Firebird диалект 3, обращения к БД из разных потоков синхронизируюся с помощью мьютексов, однако при попытке сделать дисконнект, а затем разрушить хендлы connection и environment происходит зависание программы, причем судя по детальным собственным логам намертво — вместе со всеми дочерними потоками и динамимески подключенными DLL.
ЗЫ: Уже четвертый форум — ни одного разумного ответа, кроме забить на ODBC в обмен на компоненты прямого доступа
Замена пока не катит