Здравствуйте, гость ( Вход | Регистрация )
Алексей1153 | Дата 12.8.2011, 6:20 |
Гость_Tigr_* должна быть функция пинга, поищи. Когда пинг говорит, что связь потеряна, нужно сделать реконнект с последними параметрами подключения в принципе, за пинг можно посчитать и некий запрос, который гарантированно должен вернуть что-то определённое. Если не вернул - переподключиться А можно и просто вот эту функцию вызывать - она сразу и пинг, и переподключение, судя по описанию ) Цитата bool QSqlDatabase::open () Opens the database connection using the current connection values. Returns true on success; otherwise returns false. Error information can be retrieved using lastError(). |
|
Tigr | Дата 11.8.2011, 8:59 |
о если обращение к базе долго отсутствовало (несколько часов), то он возвращает пустой запрос что при этом возвращает:bool QSqlQuery::exec () bool QSqlDatabase::isOpen () const ??? И то и другое true! сделал таймер, который раз в час делает простой запрос. Пока работает стабильно. Но это называется делать через ж.... |
|
Litkevich Yuriy | Дата 8.8.2011, 16:20 |
о если обращение к базе долго отсутствовало (несколько часов), то он возвращает пустой запрос что при этом возвращает:bool QSqlQuery::exec () bool QSqlDatabase::isOpen () const ??? |
|
ViGOur | Дата 8.8.2011, 10:53 |
У mysql есть внутренний timeout в течении которого если не происходит обращение к бд, то соединение рвется. Просто нужно в my.cfg добавить или поправить параметр (кажется connect-timeout). | |
Tigr | Дата 8.8.2011, 8:29 |
Имеется сервер, который слушает определенный порт. Когда приходит пакет, происходит проверка данных при которой происходит обращение к базе данных на мускле. запрос простой
проблема:сразу после соединения с базой все работает замечательно, но если обращение к базе долго отсутствовало (несколько часов), то он возвращает пустой запрос. хотя запись с таким id существует. переконнект с базой решает проблему. Но может существует решение, чтобы такой глюк просто не возникал? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 29.3.2024, 8:55 |