SergeyDoronovych
@SergeyDoronovych

Как подключить Qt приложения к базе данных mySql?

Нужно в приложении создать подключение к базе данных которая расположена на сайте.
Пытаюсь сделать так:
bool ControllerSQL::CreateConnection()
{
    Info = QSqlDatabase::addDatabase("QMYSQL");
    Info.setHostName("f63216y7.beget.tech");
    Info.setDatabaseName("f63216y7_water");
    Info.setUserName("f63216y7_water");
    Info.setPassword("12341234");

    if(Info.open())
        return true;
    qDebug()<<Info.lastError().text();
    return false;
}

Но пишет ошибку:
"Host '91.202.129.179' is not allowed to connect to this MySQL server QMYSQL: Unable to connect"
Подскажите что я делаю не правильно.
  • Вопрос задан
  • 788 просмотров
Решения вопроса 2
saboteur_kiev
@saboteur_kiev Куратор тега C++
software engineer
А любым другим sql клиентом у вас получается подключится к этой базе с вашего компа?
Похоже, база на сайте просто не позволяет удаленные подключения.
Ответ написан
Комментировать
@Wexter
на sql сервере создайте пользователя с доступом с любого хоста:
create user 'f63216y7_water'.'%' identified by 'password';
grant all privileges on 'f63216y7_water'@'%';
flush privileges;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@koronabora
Человек
А еще - обязательно необходимо пересобрать mysql plugin.
По инструкции в мануале:
cd %QTDIR%\qtbase\src\plugins\sqldrivers\mysql
  qmake "INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/MYSQL/MySQL Server <version>/lib/opt/libmysql.lib" mysql.pro
  nmake


Только в версии 5.7 путь к исходникам будет такой: C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\mysql
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы