Russian Qt Forum

Qt => Вопросы новичков => Тема начата: 4sgen от Август 20, 2020, 13:31



Название: Ошибка QSqlError "2026"
Отправлено: 4sgen от Август 20, 2020, 13:31
Здравствуйте, всем!
Собрал драйвер для mySQL Server 8.0
Версия Qt 5.14.2

Скопировал базу с удаленного сервера через Workbench на localhost и еще один ПК.
Запустил, все заработало. Запросы отправляет, принимает.

Пытаюсь подключиться к основному серверу и получаю ошибку
QSqlError("2026", "QMYSQL: Unable to connect", "SSL connection error: unknown error number")

Пробовал отключать\подключать ssl. На своих ПК подключается и работает.

Код:
   
    //db->setHostName("127.0.0.1");
    db->setDatabaseName("production");
    //db->setPort(3306);
    db->setUserName("root");
    db->setPassword("pass");   
    //db->setConnectOptions("CLIENT_SSL=0;CLIENT_IGNORE_SPACE=0");

    bool ok = db->open();
    if (!ok) {
        QSqlError sqlerr = db->lastError();
        QMessageBox::information(0, "БД не подключена", sqlerr.text());
        qDebug() << sqlerr;
        return;
    }
    db->database();

Прошу помощи.


Название: Re: Ошибка QSqlError "2026"
Отправлено: Пантер от Август 20, 2020, 19:08
Смотри на стороне сервера что за ошибки. Возможно, надо подправить конфигурацию MySQL.


Название: Re: Ошибка QSqlError "2026"
Отправлено: 4sgen от Август 21, 2020, 05:04
Вобщем, странная ситуация. На релизе работает без ошибок. В дебаге так и не подключается. Есть мысли?


Название: Re: Ошибка QSqlError "2026"
Отправлено: Пантер от Август 21, 2020, 09:58
Еще раз посоветую посмотреть логи серверной части - там будет указана причина отказа.


Название: Re: Ошибка QSqlError "2026"
Отправлено: 4sgen от Август 21, 2020, 10:30
Разобрался. При дебаге запросы шли по протоколу TLSv1.1, а при релизе TLSv1.3.
Протокол TLSv1.3 пришел на замену TLSv1.1 и вполне возможно не все компиляторы
успели обновиться. Поменял компилятор и все заработало.