локально на том же компьютере, где ведётся разработка. При смене сети wifi например, у приложения падает полностью подключение к серверу. Никакие SQL запросы не проходят. Логи сервера ничего особенного не говорят, ошибок не нашёл. QSqlDatabase::isOpen возвращает true. Сталкивался ли кто-то с таким странным поведением? Проблему удалось воспроизвести на нескольких разных ПК. Буду благодарен за любые советы.
вроде бы был метод reconnect() что то в этом роде. При конфигурировании соединения к SQL. Возможно, при смене сети в вашей реализации сетевого ПО происходит разъединение всех активных соединений.
Спасибо, посмотрю в этом направлении
А SQL сервер доступен по сети? Может он по умолчанию на localhost доступен. Второе. файрволл открыт порт на подключение к MSSQL. Т.е. Microsoft SQL Studio цепляется с другого компьютера к другому компьютер MS SQL ?
Он по факту не используется никак иначе, кроме как локально. Firewall не проверял, исходя из этого. Стоит проверить?
Почему вы тогда смотрите на проблему со стороны приложения?. Сначала проверьте доступы, проверьте что MS SQL разрешены подключения с другого сервера. Проверьте авторизацию и аутентификацию для других клиентов (не локалхост), а потом снова берите свое приложение и конфигурируйте уже его
Извините, я не понимаю зачем. Мне не нужно организовывать подключение внешних клиентов. Есть только один юзер и вся работа происходит локально. Поэтому меня и удивил факт того, что при смене wifi подключение падает. Или при переключении сети происходит что-то такое, что способно повлиять на текущее подключение, даже если оно локальное?
меняются, например, таблицы маршрутизации... это из очевидного. Но на диапазон адресов localhost это влиять не должно да
Если ты опускаешь сеть, то все сетевые соединения могут разрываться (но не всегда). Ты после этого должен переустанавливать сетевые соединения , то есть — повторно приконнектиться к серверу СУБД.
А это винда у тебя?
Спасибо за информацию. Буду образовываться в этом плане, почитаю что-то)
Ну, может так стек TCP работает... Вообще, вроде бы не должно локальные сокеты дисконектить.
Да, знаешь ли, там нечего образовываться, там всё охренено сложно.
Я не разбираюсь, но для меня это нелогичным просто показалось, что локальная работа с сервером зависит от подключения к сети
Кстати, а к какому адресу ты устанавливаешь соединение ?
Там при подключении через QODBC в setDatabaseName указывается перечень параметров. Нужно указать только server name, database name, user, password. И всякие ещё дополнительно можно параметры odbc. Явно адрес я не указываю.
Ну, server name ты какой указываешь? Какой IP адрес используется при установке соединения?
Обсуждают сегодня