Module Python “cx_Oracle” module n'a pas pu être trouvé
J'ai récemment installé cx_Oracle module sur ma machine, afin de se connecter à distance à un serveur de base de données Oracle. (Je n'ai pas de client Oracle à mes côtés).
- Python: la Version 2.7 x86
- Oracle: Verision 11.1.X x64
- Cx_Oracle:Verion-5.1.2-11g.win32-py2.7
Puis à chaque fois que je lance mon script, il échoue et imprimer le message suivant:
ImportError: DLL load failed: Le module spécifié est introuvable.
J'ai trouvé un poste à Ici, alors je me demande si j'ai quand-même avoir un client Oracle à mes côtés où le script python est invoquée.
Quelqu'un peut-il m'aider? Merci à l'avance.
OriginalL'auteur Chen Xie | 2012-09-21
Vous devez vous connecter pour publier un commentaire.
Oui, vous devez disposer d'un client Oracle installé sur votre côté.
De la cx_ORacle README
"Veuillez noter qu'un client Oracle (ou serveur) de l'installation est obligatoire afin
pour utiliser cx_Oracle. Si vous n'avez pas besoin des outils qui sont livrés avec un client
de l'installation, il est recommandé d'installer le Client Instant ce qui est loin
plus facile à installer."
MODIFIER lien à l'Instant Client: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
La question ci-dessus résolu, par une "dummy" 32 bits Oracle client et définissez la variable d'environnement "ORACLE_HOME" correctement pour le mannequin de chemin d'accès client.
Oui, le client oracle et le Python doivent correspondre bits pour eux de travailler ensemble.
aussi utile stackoverflow.com/questions/20159566/...
OriginalL'auteur bpgergo
Vous pouvez trouver de l'arc (32 ou 64 bits) pour:
dumpbin /headers oraocciXX.dll
file oraocciXX.so
Enfin, si vous ne comprenez toujours pas ici, c'est vraiment pour les nuls instructions:
C:\ProgFiles\OraClient\11_2
set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
path-to-python/python.exe -c "import cx_Oracle"
pour vérifier que votre installation fonctionne ou pas.ImportError: DLL load failed: The specified module could not be found
: alors oraocciXX n'est pas trouvé. Installation de l'env de vars correctement.ImportError: DLL load failed: %1 is not a valid Win32 application
: Vous avez un 32/64 bits incompatibilité.sigcheck
par SysInternals. Plus d'infos sur http://superuser.com/a/808127/283407OriginalL'auteur Kashyap
Après avoir été d'essayer de résoudre ce problème pendant des jours, j'ai découvert que
set PATH=%PATH%:<insert Oracle home here>
n'a pas à faire le truc pour moi. J'ai dû aller dans mon système Windows XP propriétés et ajouter l'Oracle de la maison à la "voie" variable sous "Système" variables d'.OriginalL'auteur VME
Je ne peux pas dire encore 🙁 mais pour uniquephase ci-dessus, vous pouvez essayer de vérifier les autorisations de l' .exe et .dll afin de s'assurer qu'ils sont de l'exécutable?
Ainsi, les mesures que je devais faire pour le faire fonctionner.
Décompressez l'instant client à partir d'ici.
http://www.oracle.com/technetwork/topics/winx64soft-089540.html
chmod +x *.exe *.dll (je suis en utilisant cygwin).
Pour être complet, je ne pourrais pas obtenir cx_oracle à installer via pip à l'aide de cygwin.
J'ai donc dû utiliser la norme dist python (non-cygwin) et installé cx_oracle via le programme d'installation de windows.
Aussi, j'ai dû ajouter f:/opt/instantclient_12_1 (endroit où j'ai installé le client Oracle instant) pour le chemin d'accès Windows (via le Système->Propriétés Avancées du Système->Variables d'Environnement->Système de Variables).
OriginalL'auteur chai