SQLITE unter Windows

Alles rund um die Programmierung mit Qt
Antworten
nik
Beiträge: 3
Registriert: 12. Juli 2006 13:54

SQLITE unter Windows

Beitrag von nik »

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
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

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... )
OscarWild
Beiträge: 54
Registriert: 19. Juni 2006 19:59

Beitrag von OscarWild »

Qt habe ich mit -qt-sql-mysql oder -plugin-sql-mysql kompilliert
Moment mal... wolltest Du nicht SQLite nutzen? Da wird Dir MySQL nicht viel bringen...
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

OscarWild hat geschrieben:
Qt habe ich mit -qt-sql-mysql oder -plugin-sql-mysql kompilliert
Moment mal... wolltest Du nicht SQLite nutzen? Da wird Dir MySQL nicht viel bringen...

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;
}
nik
Beiträge: 3
Registriert: 12. Juli 2006 13:54

Beitrag von nik »

OscarWild hat geschrieben:
Qt habe ich mit -qt-sql-mysql oder -plugin-sql-mysql kompilliert
Moment mal... wolltest Du nicht SQLite nutzen? Da wird Dir MySQL nicht viel bringen...
hmpf. sorry... ich meinte natürlich -qt-sql-sqlite und -plugin-sql-sqlite
nik
Beiträge: 3
Registriert: 12. Juli 2006 13:54

Beitrag von nik »

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
Antworten