Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.0 - Qt Creator : 4.3.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Tutoriel Installation du pilote Odbc dans Qt

Je commence par un petit tuto mais bien expliqué et illustré sur l’installation du pilote ODBC dans Qt. J’utiliserai dans le cadre de ce tuto Qt 4.7.3 (Je sais ça date un peu mais ça convient à mon vieux pc ;) ) avec le compilateur MingW fournis avec.

1) Créer votre projet Qt :
Je ne vais pas vous montrer comment créer un nouveau projet Qt mais juste vous rappeler 02 petites ligne de code à ajouter à votre nouveau projet pour les besoins de ce tuto :
- Dans votre fichier.pro, ajouter cette ligne :

QT += sql
- Dans votre fichier main.cpp, Mettez ceci :

qDebug()<<QSqlDatabase::drivers();
Avant d’attaquer la prochaine étape, Vérifier si votre version de Qt est fournis par défaut avec le pilote Odbc, dans ce cas vous n’avez pas besoin de suivre ce tuto sauf si vous voulez le faire pour savoir comment procéder dans le cas où vous serez obligé de l’installer manuellement.

La ligne de code ajoutée au main.cpp nous permet justement de vérifier ce point:
Lancer la compilation et jeter un coup d’œil sur le panneau sorti de l’application, si votre version de Qt est fournis avec ses pilotes Odbc, vous devriez voir cet écran :
https://lh3.googleusercontent.com/-_srLHritdqk/U7QRADBc2DI/AAAAAAAAAKk/G8m8NGicucE/w635-h164-no/OdbcOk.jpg
Sinon, vous aurez ceci :
https://lh6.googleusercontent.com/-kN1Kb1VUQ3s/U7QRAPrl-0I/AAAAAAAAAKc/eV6FIbd_8zA/w631-h140-no/OdbcNoOk.jpg
Alors, comment procéder pour venir à bout du problème ? La suite vous le dira ;)

2) Générer les pilotes Odbc de Qt :
Généralement Qt est fournis par défaut avec un seul pilote de base de données qui est le Sqlite, il se présente sous forme de 04 fichiers (.dll et .a en version release et debug chacun). On peut vérifier cela en consultant le dossier plugins dans: \Desktop\Qt\4.7.3\mingw\plugins\sqldrivers
https://lh6.googleusercontent.com/-1nIAEu9we18/U7QQzwiI-KI/AAAAAAAAAJ4/PlWgj7-6d8U/w701-h218-no/DossierSqlDrivers.jpg

Dans notre cas, il nous faut ajouter les 04 fichiers propres à Odbc dans le même dossier et le tour est joué. Mais pour avoir justement ces 04 fichiers, on télécharge les sources Qt en lançant le maintain Qt SDK (accessible par le biais du bouton Démarrer)
https://lh6.googleusercontent.com/-dJkN0KeV5Eg/U7QQ0Gmbx-I/AAAAAAAAAJ8/6NZ2PkGPTFA/w582-h170-no/ExecMaintain.jpg
On déroule la structure arborescente pour sélectionner Qt 4.7.3 Sources (Dans mon cas bien sur ;))
https://lh6.googleusercontent.com/aTX0vMbnBIF0TxIECxfhe46LLI4ziHE7RgqcR4F47O0=w544-h438-no

Par la suite on ouvre le dossier ODBC téléchargé par le Maintain Qt SDK (Accessible à \QtSources\4.7.3\src\plugins\sqldrivers\odbc ). Ce dossier contient un projet Qt tout prêt à être compilé pour pouvoir générer justement les fichiers .Dll et .a de notre pilote Odbc tant recherché.
https://lh5.googleusercontent.com/-zvkesaLIaj0/U7QRDJIFKLI/AAAAAAAAAK0/pfCSCh4duJM/w405-h159-no/SourcesOdbc.jpg

Maintenant, on ouvre le fichier projet Odbc.pro dans Qt Creator et on lance la compilation une fois en mode Debug pour générer la version Debug du pilote et une autre fois en mode Release pour générer la version Release.
La version Debug est générée dans le sous dossier :
\QtSources\4.7.3\src\plugins\sqldrivers\odbc-build-desktop\debug
https://lh4.googleusercontent.com/-MRj9F312gx4/U7QRAPetFjI/AAAAAAAAAKQ/3tz8u2yoxds/w479-h258-no/OdbcDebug.jpg

La version Release est générée dans le sous dossier :
\QtSources\4.7.3\src\plugins\sqldrivers\odbc-build-desktop\release
https://lh5.googleusercontent.com/lTZ3psoWJ2eQGAc_ZIX8xDXlFIWOGh2dCZfXgVX7xtY=w483-h266-no

Il ne reste plus qu’à récupérer les 04 fichiers générés par le compilateur(Qsqlodbcd4.dll, libqsqlodbcd4.a, Qsqlodbc4.dll et libqsqlodbc4.a) et les recopier dans le dossier plugin de Qt (\Desktop\Qt\4.7.3\mingw\plugins\sqldrivers) pour avoir ceci :
https://lh4.googleusercontent.com/mQpMiohfyNadEjP2NLKe-W4cxTYW5RyT79mWhx0zVT4=w587-h354-no

Pour vérifier si notre travail a porté ses fruits, relancez maintenant le projet initiale celui contenant la ligne :

qDebug()<<QSqlDatabase::drivers();
et vous devriez avoir ceci :
https://lh3.googleusercontent.com/-_srLHritdqk/U7QRADBc2DI/AAAAAAAAAKk/G8m8NGicucE/w635-h164-no/OdbcOk.jpg

Preuve que Odbc est bien installé dans Qt.

Voilà, j’espère avoir répondu aux attentes de ceux qui cherchent une solution au problème. :)

Réponses

  • Windows Xp :o

    Merci pour ton tutoriel détaillé :)

  • Windows Xp
    ha ha
    j'avais pas tilté.

    très bonne initiative.
  • Joli tuto :) mais windows xp ? pourquoi ^^ ?
  • Ben oui, Windows, le champion du code fermé, mais que voulez vous j'ai pris l'habitude de travailler avec cela fait maintenant une éternité, depuis que j'ai fait mes premiers pas en programmation avec les langages de Mr bill Gates ;) .
  • La remarque n'était pas Windows ????
    mais Windows XP ???
    ;)
  • babaOroms said:
    La remarque n'était pas Windows ????
    mais Windows XP ???
    ;)
    Ah d'accord. La raison c'est que mon vieux P4, sur lequel j'ai préparé le tuto, est vachement lent sous W7.
  • Bonjour, ce tutoriel est très efficace à ce que je vois. Suivre ces indications me permettra d’éviter de me casser la tête avec les PDF et les livres. C’est très pratique pour les personnes qui n’aiment pas lire, comme moi. Et pour les PC un peu plus performant, on utilise quelle version de Qt ?
Connectez-vous ou Inscrivez-vous pour répondre.