Qt 5.2.1 MySQL SQL Driver installieren [SOLVED]
-
Okay. Wenn ich das neue Projekt:
@#include <QCoreApplication>
#include <QtSql>
#include <iostream>
#include <cstdlib>using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase mydb = QSqlDatabase::addDatabase("QMYSQL");
mydb.setDatabaseName("baur_test_dbo");
mydb.setHostName("10.211.55.6");
mydb.setPort(3306);
mydb.setUserName("test");
mydb.setPassword("server");if(!mydb.open()) qDebug()<<"error"; else qDebug()<<"open"; return a.exec();
}
@ausführe bringt qDebug() "open" aber sobald ich dies in mein Vorhandenes Projekt mache:
@if(mydb1.open())
ui->mysqlLabel->setText(mydb1.databaseName());
else
ui->mysqlLabel->setText("Error");@@QSqlDatabase mydb1;
bool dbOpen1()
{
mydb1 = QSqlDatabase::addDatabase("QMYSQL");
mydb1.setHostName("10.211.55.10");
mydb1.setDatabaseName("baur_test_dbo");
mydb1.setPort(3306);
mydb1.setUserName("test");
mydb1.setPassword("server");if(!mydb1.open()) return false; else return true; } void dbClose1() { mydb1.close(); }@
Bekomme ich einen Fehler beim ausführen. Es erscheint "Error" im Laben :-(
-
Wenn aber das neue Projekt funktioniert, ist dein System Qt + Mysql im Prinzip korrekt eingestellt, die DLLs sind vorhanden und passen zum Qt.
Du musst analysieren, welche Unterschiede zwischen den Projekten vorhanden sind (include?, .pro mit +SQL etc.) und - falls es Meldungen außer "...MYSQL not loaded" gibt, diese bitte posten.
Nochmal der Hinweis: Evtl. vorhandene Dateien im BUILD-Verzeichnios löschen, bevor du die nicht funktionierenden Projekte neu kompilierst. -
Erst habe ich ein Projekt ohne MySQL erstellt. Auf dem jetzigen Laptop und anschließen wollte ich es um die MySQL erweitern das leider scheitert.
Erstelle ich ein neues Projekt für die Commando Zeile geht es. Nehme ich ein Projekt her das auf dem alten laptop erstellt habe erkennt er es. Nehme ich ein anderes altes her funktioniert es wieder nicht. ist alles ganz komisch :-( -
In dem Ordner unter mingw48_32\plugins\sqldrivers sollten die noch nicht vorhanden sein.
Wenn du komplett neu installiert hast, prüfe doch die Installation mit der sehr guten Anleitung:
"QT5 MYSQL":http://seppemagiels.com/blog/create-mysql-driver-qt5-windows
Die ist sehr aktuell und ich würde deine Installation Schritt für Schritt danach prüfen. -
Im Beispiel ist MYSQL im Pfad C:\Program Files (x86)\MySQL\MySQL Server 5.5 installiert.
Mit den Leerzeichen gibt es Probleme, daher soll der Pfad im alten 8-stelligen Windows-Format eingegeben werden:
also: C:\PROGRA~2\MySQL\MYSQLS~1
Ich habe aktuell keinen Windows-Rechner zur Verfügung, du solltest den Pfadnamen im cmd-Fenster mit "cd C:\PROGRA~2\MySQL\MYSQLS~1" testen (evtl. musst du PROGRA~1 verwenden)
Für qmake ist es sicherer, die Schrägstriche / anstelle der Backslashes \ einzugeben. -
Soweit ich weiß, gibt es eine Option im dir-Befehl.
Aber zur Not kannst du das auch berechnen:
Es werde die ersten 6 Buchstaben - ohne Leerzeichen - verwendet, dann die Tilde ~ und fortlaufende Ziffern, beginnend mit 1.
Wahrscheinlich ist das MYSQLS~1
Viel Erfolg