Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Qt MySQL - Driver not loaded

Ostatnio zmodyfikowano 2018-08-08 22:34
Autor Wiadomość
Ranger281
Temat założony przez niniejszego użytkownika
Qt MySQL - Driver not loaded
» 2018-08-03 18:33:36
Witam. Mam problem z MySQL dla C++.
Przy użyciu biblioteki QtSql łączę się z bazą danych w ten sposób:

QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("SQLFileDatabase");
db.setHostName(host);
db.setDatabaseName(nazwa);
db.setUserName(login);
db.setPassword(haslo);
bool ok = db.open();

Kiedy otwieram plik .exe z programem występuje błąd:

QSqlDatabase: SQLFileDatabase driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Udało mi się wygenerować log dla pliku .exe (ze względu na długość umieszczam go na pastebinie) - https://pastebin.com/06wYmgCT . Wynika z niego m.in., że libmysql.dll nie może być odczytany przez program, ponieważ nie jest pluginem (umieściłem go w folderze "plugins") - próbowałem to naprawić zastępując 32 na 64-bitową wersję, ale to też nie pomogło. Mam 32-bitową wersję QtCreatora.  Dziękuję za pomoc.
P-172008
mateczek
» 2018-08-07 18:10:54
Po pierwsze aby działało z mysql to:
QSqlDatabase db = QSqlDatabase::addDatabase( "QMYSQL" );


SQLFileDatabase
Nawet komunikat z okna aplikacji mówi Ci że coś takiego nie istnieje

SQLFileDatabase sterownik nie załadowany dostępne sterowniki to: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

C/C++
db.setHostName( host );
db.setDatabaseName( nazwa ); //za te zmiennene "nazwa" "login" "hasło" "host" trzeba coś sensownego podstawić
db.setUserName( login );
db.setPassword( haslo );
bool ok = db.open();
i musisz mieć serwer mysql odpalony i jakąś bazę utworzoną

no i Zakładając że korzystasz z Windowsa to potrzebujesz pliku libmysql.dll  (wrzucić do tego katalogu gdzie plik *.exe)
https://youtu.be/0qjcVg-8Vgw​?t=200
znajduje się on w pakiecie instalacyjnym mysqlclient lub powinien być u ciebie na dysku jeśli korzystasz z jakiegoś serwera mysql
P-172027
mateczek
» 2018-08-08 22:34:32
właśnie się skroiłem że pozmieniali na stronie MySQL od czasu wrzucenia filmiku dlatego daję linka zawierającego brakującą bibliotekę dll. dożucenie tej dllki likwiduje błąd "driver not loaded"
https://downloads.mysql.com​/archives/c-c/
P-172036
« 1 »
  Strona 1 z 1