Переподключение к БД |
Здравствуйте, гость ( Вход | Регистрация )
Переподключение к БД |
SibBear |
14.12.2015, 8:47
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 26.7.2015 Пользователь №: 4421 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день. Моя программа работает с удаленной базой MySQL. В main.cpp создается подключение к БД:
Далее в MainWindow и других классах производятся действия с БД. Вопрос такой: как организовать попытки автоматического переподключения к БД в случаях, когда произошел сбой на сервере? Спасибо. |
|
|
Алексей1153 |
15.12.2015, 8:01
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
SibBear, про сбой не знаю (сбой - это серьёзно ), а при разрыве связи можно посмотреть
https://dev.mysql.com/doc/refman/5.7/en/auto-reconnect.html метод QSqlDatabase::setConnectOptions , параметр MYSQL_OPT_RECONNECT ну и проверяем, что база открыта isOpen Переподключаться можно точно так же, как подключался
процесс подключения может быть заметный по времени (скажем так, не мгновенный), так что учитывай это. Я у себя выделил отдельный поток, который заведует открытием базы, а также скидыванием из очереди потока новых сообщений. Ну, и в случае многопоточности также не забывай про синхронизацию Сообщение отредактировал Алексей1153 - 15.12.2015, 8:04 |
|
|
Текстовая версия | Сейчас: 22.11.2024, 0:46 |