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 :

Configuration du pilote Oracle


Sujet :

Bases de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Glauben
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 115
    Par défaut Configuration du pilote Oracle
    Bonjour,

    je veux développer une application QT avec le SGBD oracle, alors il faut que je connecte l'application QT avec le SGBD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            QSqlDatabase LEntreoptDeDonnees = QSqlDatabase::addDatabase("QODBC");
            LEntreoptDeDonnees.setDatabaseName("orcl");
            LEntreoptDeDonnees.setUserName("User");
            LEntreoptDeDonnees.setPassword("LeMotDePasse");
     
            if(!LEntreoptDeDonnees.open())
            {
                QMessageBox::critical(0, QObject::tr("Erreur"), LEntreoptDeDonnees.lastError().text());
            }
    et quand je compile, un message d'erreur s'affiche :
    QSqlDatabase: QODBC driver not loaded
    QSqlDatabase: available drivers: QSQLITE
    j'ai cherché dans le forum, j'ai trouvé le driver QOpenOCCI mais je ne sais pas comment le configurer

    j'ai lu l'article L'accès aux données avec Qt mais j'ai pas trouvé la réponse que je cherche.

    S'il vous plait, je cherche comment le faire étape par étape.

    Mille Merci.

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 752
    Par défaut


    Tout d'abord, QOpenOCCI http://sourceforge.net/projects/qopenocci/files/ a été mis à jour la dernière fois en 2008, soit il y a un temps suffisamment long pour qu'il ne soit plus forcément compatible avec les dernières versions de Qt et d'Oracle.

    Tu as un pilote OCI en plug-in dans Qt : http://qt.developpez.com/doc/4.7/sql-driver/#qoci. Suis les instructions sur la page, on pourra t'aider en cas de problème.

    Là, tu n'as qu'un seul pilote de base de données installé, SQLite, celui disponible par défaut, il faut en compiler d'autres pour les autres systèmes d'accès aux SGBD...
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre très actif Avatar de Glauben
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 115
    Par défaut
    Bonjour,

    Merci dourouc05.

    Je ne trouve pas oci.pro ni dans le dossier oralce ni dans le dossier QTSDK.

    mais quand je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    // Les paramétres de connexion
    #define host "localhost"
    #define BaseDeDonnee "orcl"
    #define user "hr"
    #define passwd "LeMotDePasse"
    
                QSqlDatabase DW = QSqlDatabase::addDatabase("QSQLITE");
                DW.setHostName(host);
                DW.setDatabaseName(BaseDeDonnee);
                DW.setUserName(user);
                DW.setPassword(passwd);
                DW.driver();
                if (!DW.open())
                {
                    QMessageBox::critical(0, "attention", "echec connexion");
                    return false;
                }
                else
                {
                    QMessageBox::information(0, "info", "connexion reussite");
                }
    La connexion est réussie .

    Merci.

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 752
    Par défaut
    Citation Envoyé par Glauben Voir le message
    Je ne trouve pas oci.pro ni dans le dossier oralce ni dans le dossier QTSDK.
    Il est peut-être généré par configure. Dans une vieille version du Qt SDK (2010.05 quand même ), j'en ai un dans D:\Qt\2010.05\qt\src\plugins\sqldrivers\oci.

    Citation Envoyé par Glauben Voir le message
    mais quand je met
    Pourquoi des define ? C'est pas très beau, ça fait vraiment du C, je ne vois pas à quoi ça sert non plus... Ce serait mieux de les isoler dans des variables, avec une fonction de connexion, par exemple, ce qui permettrait de changer sans problème la base de données employées. Sinon, vu que ces infos ne sont utilisées qu'à un endroit et qu'elles ne devraient pas changer du tout, autant les écrire en dur ou dans un fichier de configuration du projet (un config.hpp quelque part que tu inclus quand tu as besoin de ces infos).

    Aussi, pour toute utilisation de define, on met généralement des identifiants en majuscules, afin de ne pas les confondre avec des variables. Là, ton code fait vraiment penser à des variables, alors que ce n'est sont pas...
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre très actif Avatar de Glauben
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 115
    Par défaut
    Bonjour,

    Merci dourouc05.

    Il est peut-être généré par configure. Dans une vieille version du Qt SDK (2010.05 quand même ), j'en ai un dans D:\Qt\2010.05\qt\src\plugins\sqldrivers\oci.
    Les dossiers que j'ai dans la version que j'utilise --> C:\SDKQt\ Demos, Desktop, Documentation, Examples, Licenses, Maemo, mingw, pythingdb, QtCreator, readme, Simulator, Sysmbia, temps et vcredist_x86 .

    Pourquoi des define ? C'est pas très beau, ça fait vraiment du C ...
    Dans mon projet, je ne change pas la base de données ni l'utilisateur
    mais je remplace les #define par ->
    Merci.

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 752
    Par défaut
    Citation Envoyé par Glauben Voir le message
    Les dossiers que j'ai dans la version que j'utilise --> C:\SDKQt\ Demos, Desktop, Documentation, Examples, Licenses, Maemo, mingw, pythingdb, QtCreator, readme, Simulator, Sysmbia, temps et vcredist_x86 .
    Dans cette version, il faut aller chercher dans le dossier Desktop... sauf pour les sources (ne pas chercher à comprendre...) : D:\QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\oci.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. [10g] Congiguration du pilote oracle pour jbuilder
    Par osoumayaj dans le forum Connexions aux bases de données
    Réponses: 12
    Dernier message: 28/08/2008, 17h08
  2. Configurer Hibernate pour Oracle
    Par turie dans le forum Hibernate
    Réponses: 1
    Dernier message: 29/05/2006, 15h08
  3. [JDBC] Chargement du pilote Oracle
    Par slim dans le forum JDBC
    Réponses: 4
    Dernier message: 22/03/2006, 20h11
  4. pilotes oracle jdbc
    Par fracam dans le forum JDBC
    Réponses: 10
    Dernier message: 16/12/2005, 16h24
  5. Réponses: 3
    Dernier message: 08/12/2004, 21h11

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