Russian Qt Forum
Ноябрь 23, 2024, 15:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlDatabase (mysql) на сервере лимит коннекта по времени простоя  (Прочитано 2945 раз)
DpoHro
Гость
« : Декабрь 09, 2007, 23:25 »

Как решается такая проблема?
собственно и не пашет прога Грустный
Вернее у меня стоят проверки в кверях, если возвращает фолз, то выводит в отдельное окно ошибки, так вот как только гляжу что мой коннект отваливается, квери возвращать начинают волзы соответственно.
Как поддержать коннект?
« Последнее редактирование: Декабрь 09, 2007, 23:35 от DpoHro » Записан
DpoHro
Гость
« Ответ #1 : Декабрь 09, 2007, 23:34 »

Да и вообще странно, сервер убил подключение, а db.isOpen() возвращает тру...

Сервер MySQL
Записан
DpoHro
Гость
« Ответ #2 : Декабрь 10, 2007, 00:38 »

Хе хе, странно все это...
Если каждый раз при выполнении пакета запросов, открывать соединение, а по завершении закрывать, то все QSqlQuery - переменные, где хранятся выборки нужные для работы, видимо теряют дескриптор подключения и следовательно вылетает приложение с ошибкой при попытке их перебрать...
Но!
Когда подключение сервер сбросил, достаточно одного запроса, чтобы подключение возобновить... При этом ID подключения на сервере уже другое, но все работает без ошибок.

Я сделал функцейку, SupportConnection, и вызываю ее перед каждым пакетом запросов, в ней содержится :
Код:
while (!qq.exec(qs))
{
nIterator++;
if (nIterator==10) break;
}
if (nIterator==10)
{
Disconnected(); // Моя функция, сворачиваю и дизейблю контролы
db.close(); // Закрываю соединение
}

То есть если 10 раз запрос не удался,

Работает и создается иллюзия, что коннект постоянный Улыбающийся !
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.086 секунд. Запросов: 20.