Программа не видит драйвер MySQL
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.175] |
|
|
Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
| Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Программа не видит драйвер MySQL
|
Сообщ.
#16
,
|
|
|
|
mysql-8.0.22-winx64 - это MySQL Community Server?
А если он уже установлен? |
|
Сообщ.
#17
,
|
|
|
|
Тогда нужно к нему подкручивать Qt, с указанным выше путем.
|
|
Сообщ.
#18
,
|
|
|
|
Теперь требуеться файл libmysql.dll. С интернета можно скачать?
|
|
Сообщ.
#19
,
|
|
|
|
вполне, если подходит под версию.
|
|
Сообщ.
#20
,
|
|
|
|
Цитата DDim1000 @ Теперь требуеться файл libmysql.dll. С интернета можно скачать? Да нет же, это должно быть в "глубинах" установленного MySQL сервера. Посмотри там в bin-папке, там должно быть. И папка эта должна быть доступна в PATH. |
|
Сообщ.
#21
,
|
|
|
|
Теперь требуеться qsqlmariadbd.dll. Откуда ее взять?
|
|
Сообщ.
#22
,
|
|
|
|
Цитата DDim1000 @ Теперь требуеться qsqlmariadbd.dll. Откуда ее взять? А вот это , похоже уже, на плагин QT драйвера БД. На прошлых шагах ты, вроде, компилячил дрова для MySQL, а не для MariaDB (как я советовал). Поэтому проблема, и непонятная. Поиск её, думаю, лучче начать с того, что: 1) Попробовать, как я советовал, скачать "MariaDB C Connector" и на его основе перекомпилячить драйвер 2) Или искать инструментарий поиска зависимостей DLL, но это самый сложный путь - там даже если найдешь зависимость, то не понятно как её решить Свой MySQL сервер оставляй. Качай коннектор к марии-db. И на основе его собирай новый драйвер. А там посмотрим. |
|
Сообщ.
#23
,
|
|
|
|
1) Установил "MariaDB C Connector";
2) Из папки bin скопировал файл libmariadb.dll; 3) Сделал копию файла libmariadb.dll и переиминовал ее в libmysql.dll. Тепер в Output пишится: Цитата qt.sql.qsqldatabase: QSqlDatabase: can not load requested driver 'QMYSQL', available drivers: QIBASE QSQLITE QMIMER QMARIADB QMYSQL QOCI QODBC QPSQL MySQL open failed: "Driver not loaded Driver not loaded" Что ни так? |
|
Сообщ.
#24
,
|
|
|
|
Все,драйвер настроен!
Теперь другой вопрос. Как обойти требования поддержки протокола SSL? MySQL open failed: "TLS/SSL error: SSL is required, but the server does not support it QMYSQL: Unable to connect" |
|
Сообщ.
#25
,
|
|
|
|
Попробуй что-то типа:
![]() ![]() QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("your-mysql.example.com"); db.setPort(3306); db.setDatabaseName("your_database"); db.setUserName("your_user"); db.setPassword("your_password"); QString options = "MYSQL_OPT_SSL_MODE=REQUIRED;" // или VERIFY_CA / VERIFY_IDENTITY "SSL_CA=/path/to/ca-cert.pem;"; // обязательно указать, если сервер требует проверки // Может потребоваться иногда // options += "SSL_CERT=/path/to/client-cert.pem;" // "SSL_KEY=/path/to/client-key.pem;"; db.setConnectOptions(options); if (!db.open()) { qDebug() << "Ошибка подключения:" << db.lastError().text(); qDebug() << "Детали драйвера:" << db.lastError().driverText(); qDebug() << "Детали БД:" << db.lastError().databaseText(); } else { qDebug() << "Успешно подключились с SSL!"; } |
|
Сообщ.
#26
,
|
|
|
|
Вот так заработало.
![]() ![]() db.setConnectOptions("MYSQL_OPT_SSL_VERIFY_SERVER_CERT=FALSE"); |