Qt 5.2.1 MySQL SQL Driver installieren [SOLVED]
-
-
Sieht schon nicht schlecht aus!
Path ist eine Systemvariable in Windows, die den Suchpfad enthält.
Ein Programm wie qmake.exe wird im cmd-Fenster nur dann gefunden, wenn es in einem Verzeichnis steht, auf das "Path" verweist.
Die Variable "Path" musst du wie folgt bearbeiten:
bq.
Systemsteuerung
->System und Sicherheit
->System
->Erweiterte Systemeinstellungen
->Umgebungsvariablen
->Systemvariablenin der Listbox Path auswählen und dann:
Bearbeiten
ans Ende der Zeile ein Semikolon und den gesamten Pfad eintragen
(Bsp. ;C:\Qt5.2.1\5.2.1\mingw48_32) -
Befinde mich nun im folgenden Pfad
C:\Qt\5.2.1\Src\qtbase\src\plugins\sqldrivers\mysql
und habe danach folgendes eingegeben
qmake "INCLUDEPATH+=C:/MySQL/include" "LIBS+=C:/mysql/MySQL Server 5.6/lib/libmysql.lib" mysql.pro
Danach hat er mir nur wieder den Pfad angezeigt ohne irgendwelche Meldung
-
Führe ich folgendes Projekt aus:
@QSqlDatabase mydb1 = QSqlDatabase::addDatabase("QMYSQL");
mydb1.setHostName("10.211.55.6");
mydb1.setDatabaseName("test");
mydb1.setUserName("test");
mydb1.setPassword("server");
mydb1.setPort(3306);if(!mydb1.open()) { cout << "Database Error"; return false; } else { cout << "Database true"; return true; }@
Und in der pro habe sql mit qmake gemacht
-
Die dlls müssen in C:\Qt\Qt5.2.0\5.2.1\mingw48_32\plugins\sqldrivers liegen. (evtl. C:\Qt\Qt5.2.0\5.2.1 gegen den entsprechenden Pfadnamen deines Rechners austauschen)
Wenn das nicht funktionieren sollte (was meist an Problemen mit der Path-Variablen liegt) kannst du auch ein Unterverzeichnis sqldrivers unter dem Build-Verzeichnis anlegen, das im Creator unter Projekte definiert ist (z.B. QBUILD\debug\meinprojekt), und die dlls auch dahin kopieren.
Das ist zwar nicht elegant aber zum Testen ggf. sinnvoll. -
Also im Pfad:
C:\Qt\5.2.1\mingw48_32\plugins\sqldrivers
liegen folgende Treiber:
qsqlite.dll
qsqlited.dll
qsqlmysql.dll
qsqlmysqld.dll
qsqllodbc.dll
qsqllodbcd.dll
qsql.psql.dll
qsqlpsqld.dllHabe es jetzt in den Ordner build-<meinProjekt>/debug/sqldrivers kopiert und das projekt bereinigt und qmake ausgeführt. leider immer noch mit der Meldung das er die Treiber nicht laden konnte
-
Das bringt uns weiter:
Qt zeigt dir mit der Meldung, dass ein mysql Treiber vorhanden ist (available driver QMSQL) , dass dieser aber nicht verwendet werden kann (not loaded).
Eine Ursache hierfür kann ein Mix zwischen 64-Bit und 32-Bit Versionen sein. Wenn Du mit mingw arbeitest, musst Du auch die 32-Bit Version von MYSQL verwenden. Ist dem so?
Wenn ja, dann hilft evtl., das Projekt nochmals komplett neu erstellen zu lassen.
Wenn nein, wird es sich nicht vermeiden lassen, die 32-Bit MYSQL zu installieren und das plugin neu zu bauen.
Hier ist ein empfehlenswerter Link, der sich auf das Problem bezieht:
"MYSQL WIN":http://seppemagiels.com/blog/create-mysql-driver-qt5-windows