Domanda

Sistema operativo: Win7 Compilatore: MINGW4.8 (Vieni con QT5.2) Collegamento a: Fedora Core Release 5, Kernel 2.6.15-1.2054_FC5 SMP su un I686

    db = new QSqlDatabase();
    db->addDatabase("QMYSQL");
    db->setHostName("localhost");
    db->setDatabaseName("myclinic");
    db->setUserName("root");
    db->setPassword(",trth12");  

    qDebug() << loader.errorString();
    qDebug() << "drivers: "<< QSqlDatabase::drivers();

    if (db->open())
        qDebug() << "Success!";
    else
        qDebug() << db->lastError().text();
.

Messaggi

.

qsqldatabase: Driver QMYSQL non caricato QSQLDatabase: disponibile Driver: QSQLite QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QpsQL 7 "The Shared la biblioteca non è stata trovata. "Driver: ("qsqlite", "qmysql", "qmysql3", "Qodbc", "qodbc3", "qpsql", "qpsql7")

"Driver non caricato driver non caricato"

È stato utile?

Soluzione 2

Grazie per la risposta, ma il problema non è perché mi manca il qsqlmysql.dll ma non ho la libmysql.dll (sembra che questa DLL non venga con Win7).

Ecco un video che mostra come installare mysql

Altri suggerimenti

Sembri che manchi il plugin MySQL sulle tue finestre o l'installazione di MySQL corretta in cui è necessario ottenere quello fatto installando tutte le necessarie librerie MySQL sul sistema in cui il driver del plugin Qtsql può riconoscerlo.

Il plugin deve essere disponibile sotto la cartella Plugin / SQLDrivers come DLL. Puoi anche inserirlo in una cartella SQLDrivers accanto alla tua applicazione, quindi somethiing in questo modo:

- yourapplication.exe
- sqldrivers/qsqlmysql4.dll
.

Avresti bisogno di afferrarlo in qualche modo, o costruirlo da solo. Questa è la spiegazione dalla documentazione Come farlo:

.

Come costruire il plugin QMYSQL su Windows

È necessario ottenere i file di installazione MySQL. Esegui Setup.exe e scegli "Installazione personalizzata". Installa il modulo "Libs e includi file". Costruisci il plugin come segue (qui si presume che MySQL sia installato in c: \ mysql):

cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro
nmake
.

.

Se non si utilizza un compilatore Microsoft, sostituire Nmake con Make nella riga sopra.

C'è un altro problema con il tuo codice però. Dovresti usare "127.0.0.1" invece di "localhost" per i database MySQL.

Ho avuto lo stesso pb di te

Soluzione è:

I driver Qt MySQL sono già all'interno di QT5 (ma non nella versione precedente!)

Hai solo bisogno di "libmysql.dll" accanto alla tua app EXE (o nella directory di Windows!) trovi "libmysql.dll" nella directory "mysql \ mysqlx.x.xx \ lib \ opt". Se Driver QT MySQL non ha trovato il libmysql.dll L'errore è lo stesso del driver non trovato ...

Buona possibilità per il prossimo!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top