Qt 5.2.1 MySQL SQL Driver installieren [SOLVED]
-
wrote on 23 Mar 2014, 13:24 last edited by
Gibt's eine frische Fehlermeldung? Oder: was wurde zwischen den beiden Builds verändert?
-
wrote on 23 Mar 2014, 13:26 last edited by
@qDebug() << QSqlDatabase::drivers();@
listet er mir wieder alle sauber auf ohne Probleme.
@ QSqlDatabase mydb = QSqlDatabase::addDatabase("QMYSQL");
mydb.setDatabaseName("baur_test_odb");
mydb.setHostName("10.211.55.6");
mydb.setPort(3306);
mydb.setUserName("test");
mydb.setPassword("server");
if(mydb.open())
qDebug() << "Open";
else
qDebug() << "Not Open";@Bei diesem Code sagt er QMYSQL driver not loaded :-(
-
wrote on 23 Mar 2014, 13:35 last edited by
Aber es hat einmal richtig funktioniert?
Kompiliere doch zum Testen mal das Beispiel "SQL Browser" in einem neuen Build-Verzeichnis.
Du solltest die mysql.dll ruhig im Windows Ordner lassen, wenn es damit einmal funktioniert hat. Das kann man später noch korrigieren.
-
wrote on 23 Mar 2014, 13:48 last edited by
Habe jetzt nochmals ein neues Projekt erstellt. Dort geht es :-) ich teste es jetzt mal an einem großen Projekt ausprobieren und nochmal Feedback geben.
Gruß
-
wrote on 23 Mar 2014, 14:27 last edited by
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 :-(
-
wrote on 23 Mar 2014, 14:47 last edited by
Also es geht definitiv nicht. Er lädt von einem alten Projekt das ich mit dem Kaputten laptop gemacht habe auch nicht und sagt das er die Treiber nicht laden kann.
-
wrote on 23 Mar 2014, 14:58 last edited by
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. -
wrote on 23 Mar 2014, 21:54 last edited by
Einträge in .pro sind OK!
Und du hast ein Projekt, das funktioniert?
Ist das auf deinem aktuellen Rechner kompiliert oder ist der Build von deinem Laptop worden? -
wrote on 23 Mar 2014, 22:05 last edited by
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 :-( -
wrote on 23 Mar 2014, 22:43 last edited by
So jetzt wird erstmal alles deinstalliert
-
wrote on 24 Mar 2014, 08:31 last edited by
So hab jetzt alles neu installiert (Qt und MySQL)
Nun habe ich im Ordner sqldrivers die dll schon drinnen obwohl ich die Kommandozeile nicht ausgeführt habe.
Ist das Normal? -
wrote on 24 Mar 2014, 08:59 last edited by
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. -
wrote on 24 Mar 2014, 13:17 last edited by
Also die Installation habe ich so gemacht wie es in der Anleitung beschrieben ist.
Aber mit diesem Pfad komme ich nicht so recht:@set mysql=C:\PROGRA~2\MySQL\MYSQLS~1.5@
-
wrote on 24 Mar 2014, 13:32 last edited by
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. -
wrote on 24 Mar 2014, 13:34 last edited by
Okay. Werde das mal später testen sobald die Kollegen Feierabend gemacht haben :-)
Was verwendest du dann? Ubuntu? -
wrote on 24 Mar 2014, 13:41 last edited by
Ja, ich verwende normalerweise (und mit Vergnügen) Kubuntu = Ubuntu mit KDE, habe Qt mit Datenbank aber auch unter Win7 und Vista laufen.
Während das mit Ubuntu sofort funktioniert hat, hat die Win-Installation viel Zeit gekostet... -
wrote on 24 Mar 2014, 13:53 last edited by
Glaube bei Ubuntu ist das ganze nicht so schwer. Irgendeine Anleitung habe ich da mal gesehen.
Ich hoffe das ich die Datenbank zum laufen bekomme sonst bekomme ich noch die Kriese :-( -
wrote on 24 Mar 2014, 13:55 last edited by
Nicht aufgeben - das wird!
Wichtig ist dann nochmal der Vergleich zwischen dem Programm, das bereits läuft und den anderen Projekten... -
wrote on 24 Mar 2014, 14:14 last edited by
Ich werde es mit der Anleitung von dir heute so gegen 17 Uhr nochmals probieren und hoffen das es klappt.
41/92