Προς το περιεχόμενο

Qt σύνδεση σε .mdb


MitsakosGR

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,

χρησιμοποιώ τις τελευταίες μέρες το Qt και προσπαθώ να συνδεθώ σε μία βάση της Access (.mdb). Έχω κάνει εγκατάσταση από το (Software Manager) το unixODBC και το libqt4-sql-odbc και χρησιμοποιώ τον ακόλουθο κώδικα για να κάνω την σύνδεση:

>QSqlDatabase accessDB;
QString s = QFileDialog::getOpenFileName(this, "Choose a File", "/", "Access Files (*.mdb)");
accessDB = QSqlDatabase::addDatabase( "QODBC", "second" );
accessDB.setDatabaseName(s);
if(accessDB.open())
   ui->txtLabel->setText("DB opened");
else
   ui->txtLabel->setText(accessDB.lastError().text());

Όπου το txtLabel είναι ένα label στην φόρμα.

 

Όταν τρέχω τον κώδικα αυτόν μου βγάζει σφάλμα:

[unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unable to connect

 

Τι κάνω λάθος;;;; Σε όλα τα παραδείγματα που βρίσκω χρησιμοποιούν ακριβώς τον ίδιο κώδικα...

Δημοσ.

QSqlDatabase mgDb = QSqlDatabase::addDatabase("QODBC");

// Open connection.

mgDb.setHostName("localhost");

mgDb.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=MissileLogDB_USMTF.mda");

 

if(mgDb.open() == false)

{

qDebug() << "ODBC::open() : error opening connection : "

<< mgDb.lastError().text() << "\n";

}

 

Δοκιμασε κυριος

Δημοσ.

QSqlDatabase mgDb = QSqlDatabase::addDatabase("QODBC");

// Open connection.

mgDb.setHostName("localhost");

mgDb.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=MissileLogDB_USMTF.mda");

 

if(mgDb.open() == false)

{

qDebug() << "ODBC::open() : error opening connection : "

<< mgDb.lastError().text() << "\n";

}

 

Δοκιμασε κυριος

 

Το δοκίμασα και έτσι αλλά εξακολουθώ να έχω το ίδιο ακριβώς μήνυμα λάθους...

 

Μήπως ξεχνάω να κάνω κάτι;;; Για να συνδεθώ στην MySQL έπρεπε στο .pro αρχείο να προσθέσω το sql στο "qt+=". Εδώ μήπως θέλει τίποτα άλλο;;

Δημοσ.

Δουλεύω σε Kubuntu οπότε δεν μπορώ να φορτώσω SQL Server αλλά δεν μπορώ να κάνω υλοποίηση με βάση SQL Server έτσι και αλλιώς...

Στην ουσία το πρόγραμμα που φτιάχνω θα δέχεται ένα αρχείο access θα διαβάζει τα δεδομένα και θα τα εισάγει (με διάφορες ενδιάμεσες λειτουργίες) σε βάση MySQL ή Oracle. Κάτι δεν έχω κάνει σωστά στο configuration αλλά δεν μπορώ να βρω πουθενά τι πρέπει να κάνω. Όλοι γράφουν σαν παράδειγμα μόνο αυτό που μου παρέθεσες πιο πάνω. Ενώ μου αρέσει πολύ σαν framework και περιβάλλον το Qt, αυτή η δυσκολία στο να βρω ολοκληρωμένα tutorial και βοήθεια σε τέτοια θεματάκια με δυσκολεύει πάρα πολύ.

Αντίστοιχα πολύ χρόνο μου πήρε και το να βρω ότι πρέπει να βάλω το qt += sql στο .pro αρχείο για να δουλέψω με database. Με μικρά βήματα βοήθειας τα κατάφερα μετά από 1-2 μέρες. Ακόμα και τα tutorial στη nokia δεν περιγράφονται όλα αυτά...

Δημοσ.

Εγω προσωπικα το QT μονο για τα παραθυρια κτλ θα το χρησιμοποιούσα...

 

Τωρα λογικα θα θελει drivers... Εδω ειδα κατι αλλα δεν βοηθα ιδιαιτερα..

 

http://sourceforge.net/projects/mdbtools/

Αυτο πρεπει να εχει παντως αυτο που ζητας

 

 

http://www.unixodbc.org/drivers.html

 

 

Δες και αυτο.,..

http://stackoverflow.com/questions/256459/populate-a-ms-access-database-in-linux

 

http://forums.devshed.com/linux-help-33/access-database-on-linux-683443.html

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...