Ich habe ein Programm mit Qt3 und sqlite unter linux geschrieben. Wenn ich das nun unter Windows kompilliere funktioniert alles ausser der Datenbankzugriff.
Qt habe ich mit -qt-sql-mysql oder -plugin-sql-mysql kompilliert. Geht bei beiden varianten nicht.
Beim Öffnen der Datenbank erhalte ich folgende Fehlermeldung:
"disk I/O error Error to open database"
Die Pfadangaben müssten korrekt sein. Wenn ich einen ungültigen Pfad angebe erhalte ich nicht mal die Fehlermeldung, es wird einfach nichts geöffnet.
Hat hier irgendwer eine Idee wo da der Fehler liegen könnte?
Gruss Nik
SQLITE unter Windows
nur mit dieser fehlermeldung ... .... sagt einfach zu wenig... die window fehlermeldungen sind nicht so luxus wie auf linux
ich rate dir die QT3 statische lib rausholen von http://sourceforge.net/projects/sqlitebrowser/ die funktioniert 1A auf window mac intel mac ppc und linux...
und man hat keine plug-in sorgen... ( hat einen kleinen bug beim sql exportieren ... was mann mit einem richtigen utf8 abspeichern beheben kann... )
ich rate dir die QT3 statische lib rausholen von http://sourceforge.net/projects/sqlitebrowser/ die funktioniert 1A auf window mac intel mac ppc und linux...
und man hat keine plug-in sorgen... ( hat einen kleinen bug beim sql exportieren ... was mann mit einem richtigen utf8 abspeichern beheben kann... )
OscarWild hat geschrieben:Moment mal... wolltest Du nicht SQLite nutzen? Da wird Dir MySQL nicht viel bringen...Qt habe ich mit -qt-sql-mysql oder -plugin-sql-mysql kompilliert
Die Mysql mit qt auf jedem OS zu configurieren is sowieso eine harte Schwangerschaft!!! mit QT odbc ist es purer luxux.... man kann von einer mysql odbc auslesen Qmap setzen und neu connecten und in einer sqlite odbc reinpusten... http://www.ch-werner.de/sqliteodbc/ herrlich....
Auf mac geht es auch prima ....
einfach jedesmal aufmachen mit eine neue idname und immer wieder schliessen.....
Code: Alles auswählen
bool Sql_Box::Connect(QString name, QString idname )
{
db = QSqlDatabase::addDatabase("QODBC");
QStringList allname = db.connectionNames();
if (allname.size() > 1 ) {
db = QSqlDatabase::addDatabase("QODBC",idname);
}
db.setDatabaseName( name );
db.setConnectOptions("SQL_ATTR_CONNECTION_TIMEOUT=30");
if (db.open()) {
is_open = true;
qDebug() << "db open nummer connection " << allname.size();
} else {
is_open = false;
qDebug() << "db close";
}
return is_open;
}
Ich habe nun mit DevCpp eine sqlitelib.a aus den originalsources erstellt. Wenn ich ein normales testprogramm erstelle funktioniert alles einwandfrei. Wenn ich allerdings ein Qt programm mache, muss ich ja das von qmake generierte Makefile benutzen. Benutze ich das qmake makefile linkt er die sqlitelib.a nicht, und wenn ich DevCpp das makefile erstellen lasse, findet er jenste qt libs nicht. Die Include und lib Pfade von Qt hab ich angegeben.
Wie kann ich beides gleichzeitig linken?
Gruss Nik
Wie kann ich beides gleichzeitig linken?
Gruss Nik