Size: a a a

2020 December 24

IZ

Ilia Zviagin in Qt
Elnee あめ
Работаю с Microsoft SQL Server по QODBC драйверу, сервер работает локально на том же компьютере, где ведётся разработка. При смене сети wifi например, у приложения падает полностью подключение к серверу. Никакие SQL запросы не проходят. Логи сервера ничего особенного не говорят, ошибок не нашёл. QSqlDatabase::isOpen возвращает true. Сталкивался ли кто-то с таким странным поведением? Проблему удалось воспроизвести на нескольких разных ПК. Буду благодарен за любые советы.
Если ты опускаешь сеть, то все сетевые соединения могут разрываться (но не всегда).

Ты после этого должен переустанавливать сетевые соединения , то есть — повторно приконнектиться к  серверу СУБД.
источник

IZ

Ilia Zviagin in Qt
nursultan Оmurgaziev
Тупой вопрос, но в Qt есть анимации?
Смотря чего...
источник

nursultan Оmurgaziev... in Qt
Ilia Zviagin
Смотря чего...
Widgets, и Qml
источник

Eあ

Elnee あめ in Qt
Artem
идеально, спасибо!
Не за что. Ещё популярно очень в многих кодстайлах ставить _ в конце членов класса. Чтобы не писать например тот же this но использовать одинаковые имена в входящих параметрах в тех же конструкторах.
источник

IZ

Ilia Zviagin in Qt
Elnee あめ
Извините, я не понимаю зачем. Мне не нужно организовывать подключение внешних клиентов. Есть только один юзер и вся работа происходит локально. Поэтому меня и удивил факт того, что при смене wifi подключение падает. Или при переключении сети происходит что-то такое, что способно повлиять на текущее подключение, даже если оно локальное?
А это винда у тебя?
источник

Eあ

Elnee あめ in Qt
Ilia Zviagin
А это винда у тебя?
Да
источник

Eあ

Elnee あめ in Qt
Ilia Zviagin
Если ты опускаешь сеть, то все сетевые соединения могут разрываться (но не всегда).

Ты после этого должен переустанавливать сетевые соединения , то есть — повторно приконнектиться к  серверу СУБД.
Спасибо за информацию. Буду образовываться в этом плане, почитаю что-то)
источник

IZ

Ilia Zviagin in Qt
Ну, может так стек TCP работает... Вообще, вроде бы не должно локальные сокеты дисконектить.
источник

IZ

Ilia Zviagin in Qt
Elnee あめ
Спасибо за информацию. Буду образовываться в этом плане, почитаю что-то)
Да, знаешь ли, там нечего образовываться, там всё охренено сложно.
источник

Eあ

Elnee あめ in Qt
Ilia Zviagin
Ну, может так стек TCP работает... Вообще, вроде бы не должно локальные сокеты дисконектить.
Я не разбираюсь, но для меня это нелогичным просто показалось, что локальная работа с сервером зависит от подключения к сети
источник

IZ

Ilia Zviagin in Qt
Можно кстати высокий таймаут выставить в соединении TCP, и вообще никогда рваться не будет .

Но можно ли прокинуть эту настройку через Qt, библиотеку БД, в TCP стек — вовсе не факт.
источник

IZ

Ilia Zviagin in Qt
Elnee あめ
Я не разбираюсь, но для меня это нелогичным просто показалось, что локальная работа с сервером зависит от подключения к сети
Кстати, а к какому адресу ты устанавливаешь соединение ?
источник

МС

Михаил Серебренников... in Qt
nursultan Оmurgaziev
Тупой вопрос, но в Qt есть анимации?
Есть.
источник

nursultan Оmurgaziev... in Qt
Хорошо пошел гуглить
источник

Eあ

Elnee あめ in Qt
Ilia Zviagin
Кстати, а к какому адресу ты устанавливаешь соединение ?
Там при подключении через QODBC в setDatabaseName указывается перечень параметров. Нужно указать только server name, database name, user, password. И всякие ещё дополнительно можно параметры odbc. Явно адрес я не указываю.
источник

IZ

Ilia Zviagin in Qt
Elnee あめ
Там при подключении через QODBC в setDatabaseName указывается перечень параметров. Нужно указать только server name, database name, user, password. И всякие ещё дополнительно можно параметры odbc. Явно адрес я не указываю.
Ну, server name ты какой указываешь? Какой IP адрес используется при установке соединения?
источник

МС

Михаил Серебренников... in Qt
nursultan Оmurgaziev
Хорошо пошел гуглить
Смотри QML. Есть несколько способов. Можно через изменение состояний (States и Transition), можно через изменение параметров и Behavior,  Можно напрямую через NumberAnimation. Вроде бы есть в Qt поддержка Lottie Animation, но я лично его не пробовал.
источник

МС

Михаил Серебренников... in Qt
Анимацию можно вручную программировать, а можно использовать Qt Design Studio 2:
https://www.youtube.com/watch?v=za9KBWcFXEw&feature=emb_title
источник

IZ

Ilia Zviagin in Qt
Должен быть из локалхоста.

127.0.0.1

Тогда оно не будет разрываться. А локальное ИМЯ хоста в винде может значить ВСЕ ИНТЕРФЕЙСЫ, тогда если ты WIFI опускаешь, интерфейс опускается, соединение разрывается.
источник

Eあ

Elnee あめ in Qt
Ilia Zviagin
Должен быть из локалхоста.

127.0.0.1

Тогда оно не будет разрываться. А локальное ИМЯ хоста в винде может значить ВСЕ ИНТЕРФЕЙСЫ, тогда если ты WIFI опускаешь, интерфейс опускается, соединение разрывается.
Вот отсюда я беру данные. Такие же как на форме подключения в SQL Server Management Studio. А ip какой у сервера сейчас не могу проверить. Но я понял что нужно сделать, посмотрю чтобы он был именно 127.0.0.1. Спасибо.

Я ещё так понял этот способ подключения называется named pipe. Я попробую с указанием точного адреса TCP/IP.
источник