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

Python Discussion :

[PyQt4] Installation OCI driver


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut [PyQt4] Installation OCI driver
    Bonjour,

    J'essaie actuellement d'installer le driver OCI pour PyQt4, mais je ne trouve pas la marche à suivre... Les seules informations que je trouve concernent l'installation du driver sur Qt et je ne sais pas comment faire le lien avec PyQt4. J'ai effectivement trouvé le dossier où se situent les driver SQL pour PyQt, mais pas le dossier "oci" ou encore le fichier "oci.pro" dont il est fait mention sur ce tutorial.

    Quelqu'un connaîtrait une méthode pour installer ce driver ?

    Merci d'avance pour votre aide,

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 739
    Par défaut
    Salut,

    PyQt4 n'est qu'une fine couche qui permet d'appeler Qt depuis Python.
    Si vous voulez installer le driver Oracle, il faut mettre les mains dans Qt et le C++.
    Cela fait, le driver sera aussi accessible via PyQt4 via l'API QSql.

    Vous auriez plus de chance de trouver de l'aide dans le forum Qt qu'ici.
    N'oubliez pas de préciser l'OS sur lequel vous travaillez: si vous avez lu la doc., les pièges sont très OS dépendants.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut
    Donc si je comprend bien, il faut que j'installe Qt (je n'en avais pas besoin jusqu'à présent, pyqt4 suffisait) puis le driver OCI. Par contre j'ai du mal à comprendre comment le lien se fait entre PyQt4 (qui se trouve dans le dossier Python27) et Qt (qui va se trouver dans un autre dossier vraisemblablement), inclure QtSql dans mon fichier python ira chercher le driver jusque dans le dossier Qt ?

    J'utilise Windows 7 comme OS.

    Merci pour votre réponse,

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Les drivers fournis avec PyQt4 sous Windows sont sous forme de dll et sont ici: C:\Python27\Lib\site-packages\PyQt4\plugins\sqldrivers.

    Par l'intermédiaire de PyQt4, Python va dire aux fonctions Qt4 quel driver utiliser, mais ce sont les fonctions de Qt4 qui l'utiliseront.

    Je suppose donc qu'il "suffit" de créer le driver en C++ (=> .dll sous Windows), de le copier avec les autres drivers de PyQt4. Il est aussi possible qu'il faille faire quelque chose pour que PyQt4 le "reconnaisse"? Dans la mesure où on ne trouve pas d'info sur le net, il faut essayer. Avant, il faut peut-être chercher dans les mailing-lists: http://www.riverbankcomputing.com/pipermail/pyqt/

    Je ne l'ai jamais fait, mais je sais qu'il y a une doc de Qt4 qui dit comment faire (en anglais): http://qt-project.org/doc/qt-4.8/qtsql.html

    Il faudrait donc installer Qt4. Pour Python 2.7, il s'agit probablement de la version 4.8.5 de Qt4. On la trouve ici: https://qt-project.org/downloads#qt-other. Si vous n'avez pas MS Visual Studio (attention: il n'est pas sûr que ça fonctionne avec la version Express), il faut prendre la version avec mingw (=compilateur open source) pour Windows.

    Je ne sais pas si QtCreator est livré avec Qt4. Il s'agit de l'IDE pour travailler en C++ sous Qt. Si ce n'est pas le cas, il est disponible sur la même page.

    Il est important aussi d'avoir la doc. Je suppose que QtAssistant est livré avec, et qu'il sera déjà "branché" sur la doc. La doc est aussi en ligne (http://qt-project.org/doc/qt-4.8/), mais je trouve QtAssistant beaucoup plus pratique.

    Après, il faut suivre la doc et apprendre à utiliser les outils (et le C++ !).

    Bon courage!

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 739
    Par défaut
    Salut,

    PyQt4 est aussi livré avec des binaires qui incluent les .DLL de Qt et l'interface qui permet d'utiliser cela avec Python.
    Sur windows, je ne sais pas si vous pouvez facilement étendre la partie Qt livrée avec ce packaging: pour compiler il faut des en-têtes, une toolchain, etc... que les "binaires" oublient parfois.
    Il est plus "sain" de partir des sources.
    En plus comme le driver OCI est propriétaire pas facile de trouver de l'aide.

    PyQt c'est fastoche, mais dès que vous sortez un peu des sentiers battus, il y a du boulot.
    Si quelqu'un n'a pas une idée géniale, il va vous falloir apprendre tout çà.

    Bon courage.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Par défaut
    Bonjour,

    J'ai réussi a générer les DLL oci pour Qt4 (ce post aide beaucoup), mais je n'arrive pas a faire le lien avec pyqt4... J'ai essayé de copier le fichier dll et le dossier entier contenant la dll dans le dossier PyQt4/plugins/sqldrivers mais j'ai toujours le message d'erreur "Driver not loaded" quand j'essaie d'ouvrir une BDD en utilisant QOCI.

    Quelqu'un connaîtrait-il une solution pour lier qt4 à PyQt4 ?

    Merci pour vos réponses

  7. #7
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Bizarre, je pensais que ce serait plus simple. Je viens de trouver un fil sur le mailing-list de riverbank qui parle du sujet:

    http://www.riverbankcomputing.com/pi...ne/031667.html

    Cette réponse semble confirmer qu'il n'y a rien à faire de particulier avec PyQt4: le driver écrit en C++ est utilisé par les fonctions de Qt4 en C++.

    Mais dans la doc (ici: http://pyqt.sourceforge.net/Docs/PyQ...ldatabase.html), je viens de trouver ceci:

    Get the names of the available SQL drivers with drivers(). Check for the presence of a particular driver with isDriverAvailable(). If you have created your own custom driver, you must register it with registerSqlDriver().
    Cela répond peut-être au problème?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/05/2013, 16h35
  2. installation de driver pour périphériques USB
    Par devmat dans le forum Windows XP
    Réponses: 6
    Dernier message: 14/01/2006, 14h19
  3. Problème d'install des drivers NVIDIA
    Par Blowih dans le forum Matériel
    Réponses: 4
    Dernier message: 14/08/2004, 20h16
  4. Problème d'installation de driver pour une carte réseaux
    Par black is beautiful dans le forum Matériel
    Réponses: 3
    Dernier message: 19/07/2004, 21h33
  5. Installer mon driver carte reseaux
    Par kaygee dans le forum Matériel
    Réponses: 9
    Dernier message: 26/02/2004, 19h31

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