Название: НЕ работает проверка на соединение с БД. Отправлено: demiurg от Октябрь 15, 2011, 17:37 Перед каждой серией запросов решил поставить проверку на соединение. А то мало ли чего бывает. А она не работает - ни когда службу перезапускаю, ни когда база по wait_timeout рубит соединение. Постоянно true после запуска приложения.
Код: bool c_e=db.isOpen(); Может ещё что надо настроить? ЗЫ ДА , забыл,при первом подключении работает. Название: Re: НЕ работает проверка на соединение с БД. Отправлено: Странник от Октябрь 15, 2011, 22:58 тема несколько раз поднималась - решения, насколько я помню, так и не нашлось. да и не так оно нужно, в вашем случае. анализируйте значение, возвращаемое exec() и lastError().
Название: Re: НЕ работает проверка на соединение с БД. Отправлено: demiurg от Октябрь 15, 2011, 23:16 Пришлось всё таки оставить "select 1".
Тоже кстати если в первый раз подключается- говорит что запрос не прошёл. А дальше - как будто подключение не разрывалось, а запрос всётаки не выполнился. А ещё вопрос : где можно почитать про опции соединения: CLIENT_COMPRESS CLIENT_FOUND_ROWS CLIENT_IGNORE_SPACE CLIENT_SSL CLIENT_ODBC CLIENT_NO_SCHEMA CLIENT_INTERACTIVE UNIX_SOCKET Которые в setConnectOptions прописываются. Особенно интересно что за опция CLIENT_INTERACTIVE. Название: Re: НЕ работает проверка на соединение с БД. Отправлено: Странник от Октябрь 16, 2011, 23:33 А ещё вопрос : где можно почитать про опции соединения: в документации к серверу, MySQL я так понимаю. там же можно найти коды ошибок, возвращаемые драйвером. и через lastError() по коду ошибки определить, что запрос не выполнился из-за отсутствия соединения с сервером.CLIENT_COMPRESS CLIENT_FOUND_ROWS CLIENT_IGNORE_SPACE CLIENT_SSL CLIENT_ODBC CLIENT_NO_SCHEMA CLIENT_INTERACTIVE UNIX_SOCKET Которые в setConnectOptions прописываются. Особенно интересно что за опция CLIENT_INTERACTIVE. Название: Re: НЕ работает проверка на соединение с БД. Отправлено: demiurg от Октябрь 18, 2011, 01:18 АА , точно, нашёл... Я думал это опции из Qt :).
|