(gelöst) Access DB (*.mdb) läßt sich nicht mit ODBC öffnen!?

Alles rund um die Programmierung mit Qt
Antworten
pumuckl
Beiträge: 23
Registriert: 26. November 2006 22:01

(gelöst) Access DB (*.mdb) läßt sich nicht mit ODBC öffnen!?

Beitrag von pumuckl »

Hallo miteinander,

ich möchte eine Access-Datenbank (*.mdb) mit QT öffnen. Habe dazu bei der Compilierung von QT sowohl unter WIN als auch LIN (Suse10.1) als Option die ODBC-Treiber mit installiert:

Code: Alles auswählen

./configure -qt-sql-odbc -plugin-sql-odbc -qt-sql-sqlite -plugin-sql-sqlite
Ich hatte zuvor auch mit YAST die QT ODBC-Treiber installiert. Die mdb-Datenbank soll mit folgendem Code aus der Dokumentation zu QSqlDatabase geöffnet werden:

Code: Alles auswählen

...
 db = QSqlDatabase::addDatabase("QODBC");
 db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=myaccessfile.mdb");
 if (db.open()) {
     // success!
 }
Unter WIN funktioniert es und ich kann die Datenbank öffnen. Aber unter LIN geht es komischerweise nicht!? Eine Fehlermeldung erscheint nicht. Kann mir da jemand weiterhelfen??
Zuletzt geändert von pumuckl am 18. Dezember 2006 13:44, insgesamt 1-mal geändert.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Was gibt es da zu wundern??
Oder haste etwa unter Linux ein Access ODBC Treiber??
Wenn du was haben willst was unter beiden Systemen geht, geht nur SQLite oder MySQL Embedded. Das sind die einzigen Lösungen wo du ohne DB Server auskommt. Eventuell geht noch Firebird Embedded.
pumuckl
Beiträge: 23
Registriert: 26. November 2006 22:01

Beitrag von pumuckl »

Intensiveres Suchen hat ergeben, dass es kommerzielle ACCESS-Treiber für Linux gibt. Ne andere Möglichkeit ist der Im- und Export über ODBC in OpenOffice z.B.!

Ich werde SQLite nehmen. Das funktioniert auf beiden Systemen!

Danke!
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Oder die Krücke aller Krücken eine OBDC-ODBC Brücke.
Antworten