-
Bonjour,
J'ai une application Qt qui fonctionne très bien avec Access 2007, mais qui ne fonctionne plus avec Access 2019.
Voici le c ode:void Openbourse::ouvrirBase(QString p) { QString file = p; mDatabase = QSqlDatabase::addDatabase("QODBC"); QString dataBaseString = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=" + file; mDatabase.setDatabaseName(dataBaseString); bool ok=QSqlDatabase::isDriverAvailable("QODBC"); if (!ok) { QMessageBox::warning(0, "Ouverture base de donnée", "No ODBC driver available!"); } if (!mDatabase.open()) { QMessageBox::warning(0, "Ouverture base de donnée", p + " : Base de donnée absente !"); } } ``La base de donnée ne s'ouvre pas. Je ne comprends pas ce qu'il faudrait faire. Merci sincèrement de m'indiquer comment procéder`. Merci d'avance.
-
Thread déplacé
Quelle est l'erreur exact ?
-
Quelle version de Qt ?
Est-ce que le driver est pré-compilé ? -
@lacombe said in Lecture base de donnée Access 2019 avec qt:
Je suis encore novice, je ne comprends pas ce que veut dire driver pré-compilé.
Merci beaucoup de m'expliquer.Qt est un framework C++ open source. A ce titre, vous avez accès aux sources et ce que @SGaist voulait savoir c'est si vous avez compilé vous même le plugin ODBC ou est-ce que vous utilisez une version pré-compilée (par exemple celle fournit par Qt).
-
Bonjour,
Le pilote QODBC marche bien semble-t-il. J'ai tout essayé mais je pense qu'il y a un problème de compatibilité entre Microsoft Access 2019 et autres applications comme Qt. Ce n'était pas le cas avec Access 2007.
Si toutefois vous aviez une réponse à m'apporter, ce serait sympa car maintenant je ne sais plus quoi faire, sinon abandonner.
Merci d'avance. -
Normalement il devrait y avoir un message d'erreur donnant une indication de ce qui n'a pas fonctionné.
QSqlDatabase::lastError est un bon point de départ.
-
Bonjour,
Merci de cette info. En effet mon système d'exploitation est de 64 bits et Microsoft Access 2019 est 64 bits. J'ai donc été à l'administrateur de source de données ODBC 64 bits, la source de donnée Microsoft Access existe mais il n'y a pas de pilote ODBC associé. L'on me dit d'utiliser le programme d'installation de pilote.
Je n'ai pas pu trouver comment procéder pour cela.
Merci de m'aider. -
Ce on ne peut-il fournir le lien ?
-
Bonjour,
Merci de votre réponse. C'est l'indication qui est donnée dans le tableau de l'administrateur de source de données. Il n'y a aucun lien. Cela dit, il y a des sites que ne connaît pas que j'ai parcouru mais qui ne donnent pas véritablement de réponses.
Une fois de plus merci de m'aider. -
Ce thread stack overflow peut donner une piste.
-
Bonjour,
Merci pour cette info.
J'ai exécuté à partir de l'invité de commande : accessdatabaseengine_X64 / quiet comme indiqué dans le lien que vous m'avez fourni.
Dans l'administrateur de source de données ODBC 64 bits, j'ai le pilote Microsoft Access Driver (*.mdb, *.accdb) ACEODBC.DLL
Dans l'administrateur de source de données ODBC 32 bits, il n'y est pas.
Ma base de donnée ne s'ouvre toujours pas.
Merci d'avance de m'aider. -
Qu'est-ce que QSqlDatabase::lastError donne comme information ?
-
-
Quel est la chaîne de caractères finales utilisées pour la connection ?
-
Est-ce que le problème persiste si le chemin utilise le séparateur natif ?