IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Discussion :

[QIBASE] Connexion à une base de données Firebird : compiler l'extension


Sujet :

Bases de données

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur (aussi appelé "programmateur" ou "magicien")
    Inscrit en
    Octobre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur (aussi appelé "programmateur" ou "magicien")
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 101
    Points : 102
    Points
    102
    Par défaut [QIBASE] Connexion à une base de données Firebird : compiler l'extension
    Bonjour,
    Cela fais deux jours que je cherche en vain un moyen de connecter mon programme à ma bde Firebird. D'après les centaines de tutos et d'explications que j'ai lus, il suffit d'ajouter au projet le driver QIBASE puis de connecter la bde normalement. Mais dans mon dossier sql driver je n'ai pas QIBASE!! J'ai essayé toute les techniques possible sans arriver à un résultat satisfaisant. Je débute en base de données alors expliquez-moi clairement ce qu'il faut faire, merci!
    PS: je crée un nouveau projet pour l'occasion qui ne sert qu'à se connecter sur la bde, et je suis sous windows
    Delphi 7 et 10.3.2
    IBExpert et Firebird 2.5

    Fervent partisan de la méthode du canard en plastique .

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    Salut,

    D'abord, il faut vérifier si le driver est disponible avec un programme de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <QCoreApplication>
    #include <QSqlDatabase>
    #include <QDebug>
     
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
     
        qDebug() << QSqlDatabase::drivers();
     
        return a.exec();
    }
    et en ajoutant dans le .pro :
    En l'exécutant, ce programme de test revoie une liste. QIBASE n'est pas dans la liste. Il faut donc le compiler.

    Pour cela :
    * Télécharger la base Firebird : http://www.firebirdsql.org/en/firebird-2-5-5/
    * Perso j'ai pris Firebird-2.5.5.26952_0_Win32.exe
    * Installer la base Firebird.
    * Perso je l'ai installé dans C:\Firebird_2_5
    * Vérifier la présence des dossier C:\Firebird_2_5\lib et C:\Firebird_2_5\include .
    * Ouvrir le terminal pré-configuré pour Qt :
    * Menu_Démarrer→Tous_les_Programmes→Qt→Version_De_La_Lib_Qt→Compilateur_Et_Version_du_compilateur→terminal
    soit chez moi : Menu_Démarrer→Tous_les_Programmes→Qt→5.5→“MinGW 4.9 (32bit)”→“Qt 5.5 for Desktop (MinGW 4.9.2 32 bit)”

    * dans le terminal, aller à l'endroit des source du plugin ibase.
    Commande “cd ..” dans le terminal pour remonter au dossier parent
    Commande “cd Qt_test” par exemple dans le terminal pour descendre dans le dossier enfant nommé Qt_test
    Ou alors :
    Ou alors :
    Entrer “cd ”
    Puis Copier le chemin du dossier contenant les source du plugin ibase. Le chemin est disponible dans l'explorateur de fichier Windows.
    Et Coller ce chemin dans le terminal Windows. Attention le ctrl + v pour coller dans le terminal ne fonctionne pas, il faut utiliser le clique droit puis sélectionner Coller.
    Enfin valider par la touche Entrer.
    * Dans mon cas, c'est le dossier C:\Qt\5.5\Src\qtbase\src\plugins\sqldrivers\ibase
    * Donc dans le terminal Qt, faites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd C:\Qt\5.5\Src\qtbase\src\plugins\sqldrivers\ibase
    * Vérifier la présence du fichier ibase.pro dans ce dossier.

    * Configurer les sources avec le chemin de firbird précédemment installé :
    * Dans le terminal Qt, faites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qmake "INCLUDEPATH+=C:/Firebird_2_5/include" "LIBS+=-LC:/Firebird_2_5/lib" "LIBS+=-lfbclient_ms" ibase.pro
    * Puis compiler :
    * Dans le terminal Qt, faites :
    * Puis installer :
    * Dans le terminal Qt, faites :
    * Cela à pour conséquence de faire apparaitre 2 nouvelle dll (qsqlibase.dll et qsqlibased.dll) dans le dossier plugin de Qt. (C:\Qt\5.5\mingw492_32\plugins\sqldrivers dans mon cas)

    * Exécuter le programme de test. QIBASE est maintenant dans la liste.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur (aussi appelé "programmateur" ou "magicien")
    Inscrit en
    Octobre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur (aussi appelé "programmateur" ou "magicien")
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 101
    Points : 102
    Points
    102
    Par défaut
    hello,
    merci beaucoup pour ta réponse claire ^^, mais le problème que j'ai eu avec les autres tutos persiste : JE N'AI PAS IBASE.PRO!! J'ai cherché absolument partout, sur mes deux ordis avec une version différente de Qt, impossible de le trouver. Je n'ai pas le dossier src qu'il y a dans ton chemin. J'ai aussi fait une recherche windows qui n'a rien donné. Aidez-moi!!
    Delphi 7 et 10.3.2
    IBExpert et Firebird 2.5

    Fervent partisan de la méthode du canard en plastique .

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    Il faut ajouter les sources de Qt.
    Pour la version online du SDK de Qt :

    * Menu_Démarrer→Tous_les_Programmes→Qt→MaintenanceTool.exe

    * Tu sélectionnes "Ajouter ou supprimer des modules"

    * Puis dans la liste et dans ta version de Qt (exemple Qt 5.5 pour moi), tu coches "Source Components"

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur (aussi appelé "programmateur" ou "magicien")
    Inscrit en
    Octobre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur (aussi appelé "programmateur" ou "magicien")
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 101
    Points : 102
    Points
    102
    Par défaut
    ok merci! mais je n'arrive pas à rajouter les composants(il faut un dépôt) alors je vais réinstaller Qt, en plus ça le mettra à jour. je te redis si ça a marché!!
    Delphi 7 et 10.3.2
    IBExpert et Firebird 2.5

    Fervent partisan de la méthode du canard en plastique .

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur (aussi appelé "programmateur" ou "magicien")
    Inscrit en
    Octobre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur (aussi appelé "programmateur" ou "magicien")
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 101
    Points : 102
    Points
    102
    Par défaut
    Bon là plus rien ne marche, alors je désinstalle les deux versions de Qt et je réessaie
    Delphi 7 et 10.3.2
    IBExpert et Firebird 2.5

    Fervent partisan de la méthode du canard en plastique .

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    Installe la version online du SDK Qt de préférence.
    Et si tu est débutant, installe le SDK Qt sur C:/Qt.

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur (aussi appelé "programmateur" ou "magicien")
    Inscrit en
    Octobre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur (aussi appelé "programmateur" ou "magicien")
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 101
    Points : 102
    Points
    102
    Par défaut
    j'ai réinstaller, ca marche mieux mais toujours pas : Nom : Capture.PNG
Affichages : 329
Taille : 38,8 Ko
    d'après ce que j'ai compris, il ne trouve pas ibase.h (firebird/include). J'ai réessayer en remplacant les \ par des / et en vérifiant les chemin d'accès, rien n'y fait. Je suis en train d'essayer de le faire en compilant ibase.pro comme un programme normal, mais j'ai toujours cette erreur: :-1: erreur : error: Files/Firebird/Firebird_2_5/lib: No such file or directory.

    Je crois que c'est à cause du chemin C:\program files\... car il y a un espace. j'essaie en déplacant le tout pour avoir un chemin sans espace

    Maintenant j'obtiens ça :Nom : Capture.PNG
Affichages : 356
Taille : 37,7 Ko
    Delphi 7 et 10.3.2
    IBExpert et Firebird 2.5

    Fervent partisan de la méthode du canard en plastique .

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    Sur ta dernière capture d'écran, j'aurai préféré voir le début de l'erreur plutôt que la fin.

    Perso, avec :
    * Firebird intallé dans C:\Firebird_2_5 (donc existance de C:\Firebird_2_5\lib et C:\Firebird_2_5\include).
    * le SDK Qt online installé dans C:\Qt avec les sources.
    Et dans le terminal Qt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cd C:\Qt\5.5\Src\qtbase\src\plugins\sqldrivers\ibase
    qmake "INCLUDEPATH+=C:/Firebird_2_5/include" "LIBS+=-LC:/Firebird_2_5/lib" "LIBS+=-lfbclient_ms" ibase.pro
    mingw32-make
    mingw32-make install
    Maintenant, qu'as tu fait de différent ?

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur (aussi appelé "programmateur" ou "magicien")
    Inscrit en
    Octobre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur (aussi appelé "programmateur" ou "magicien")
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 101
    Points : 102
    Points
    102
    Par défaut
    Je viens d'essayer sur un autre ordinateur(ou je n'avais encore rien fait) et j'ai placé les dossiers exactement comme toi, puis copié tes lignes de commande dans le terminal Qt, et ça m'a donné ça:
    Nom : Capture.PNG
Affichages : 290
Taille : 68,3 Ko
    Puis j'ai essayé une deuxième fois (au cas où) et l'erreur est arrivée plus vite:
    Nom : Capture2.PNG
Affichages : 287
Taille : 45,2 Ko
    Je crois que je suis maudit
    Delphi 7 et 10.3.2
    IBExpert et Firebird 2.5

    Fervent partisan de la méthode du canard en plastique .

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    J'ai l'impression que tu n'utilises pas les mêmes versions.
    Si tu utilises un compilateur 32bit alors il faut installer Firebird en 32 bit , et cela même si ton windows est en 64bit.
    Alors, quelle version du compilateur pour Qt as tu installé ? 32 bit d'après les captures d'écrans.
    Mais quelle version de Firebird as tu installé ?

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur (aussi appelé "programmateur" ou "magicien")
    Inscrit en
    Octobre 2014
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur (aussi appelé "programmateur" ou "magicien")
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 101
    Points : 102
    Points
    102
    Par défaut
    C'était ça!! Merci beaucoup!! Enfin après 3 jours complets de recherche
    Delphi 7 et 10.3.2
    IBExpert et Firebird 2.5

    Fervent partisan de la méthode du canard en plastique .

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 107
    Points : 189
    Points
    189
    Par défaut
    OK,
    C'est le "recognised but unhandled machine type" qui m'a mis sur la voie.
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion à une base de données Firebird via une application Android
    Par souadkhel dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 28/12/2015, 09h06
  2. Connexion Android à une Base de données Firebird avec le driver JDBC Jaybird
    Par rabah15 dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 08/11/2015, 14h47
  3. Connexion a une base de données; firebird.
    Par ridrum dans le forum Général Java
    Réponses: 3
    Dernier message: 07/10/2010, 09h20
  4. Deux connexions à une base de données Firebird
    Par elife63 dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 16/06/2010, 15h48
  5. Connexion à une base de données Firebird
    Par Mister Nono dans le forum iReport
    Réponses: 1
    Dernier message: 27/11/2007, 17h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo