2011-06-22 4 views
1

Je courais ...Mise en place cx_Oracle

SQL*Plus: Release 9.2.X.X.X - Production on Wed Jun 22 13:02:14 2011 

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 


Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.X.X.X - 64bit Production 
With the Partitioning, OLAP and Data Mining options 

avec la version Python 2.7.1

J'ai installé la version 32 bits de cx_Oracle pour Oracle 10g mais je reçois

Traceback (most recent call last): 
    File "<pyshell#3>", line 1, in <module> 
    import cx_Oracle 
ImportError: DLL load failed: The specified procedure could not be found. 

quand j'essaie d'importer.

J'ai vérifié et mon %ORACLE_HOME% Env Variable est mis dans le répertoire où mon client Oracle est installé. Le seul problème que je peux penser est que le cx_Oracle étant fait pour Oracle 10g se réfère au client étant 10g (où le mien est 9) au lieu de la base de données (ma base de données est 10g) ... ou que le module cx_Oracle étant "32bit" se référant à ma base de données distante étant 32 bits au lieu de ma machine locale. J'ai fait un peu de jeu avec différentes versions en vain.

Merci.

EDIT:

De plus, on me dit que Oracle 9 devrait fonctionner avec certaines versions de cx_Oracle .. mais ceux qui? Je ne peux pas trouver une telle version disponible. Y a-t-il du travail ici?

Edit:

J'ai mis à jour instantclient 10.2 sur ma machine locale. Maintenant, cependant, je peux importer cx_Oracle très bien, mais lorsque je tente d'établir une connexion, je reçois le texte suivant:

Traceback (most recent call last): 
    File "C:\oracleTest.py", line 2, in <module> 
    connection = cx_Oracle.connect("username/[email protected](DESCRIPTION STRING)") 
DatabaseError: ORA-12705: Cannot access NLS data files or invalid environment specified 
+0

Tout comme pour confirmer que vous utilisez 32 bits python avec le client 32 bits cx_Oracle. – Gerrat

+0

@Gerrat correct –

Répondre

1

Votre client Oracle doit correspondre à la version cx_Oracle. Une raison d'utiliser le client Oracle 9? Vous devriez être capable de simplement télécharger et installer la version 10 (ou même 11 clients), et la version correspondante de cx_Oracle. Ils vont tous deux travailler avec Oracle 10g.

Nous utilisons Oracle 10g au travail, et j'utilise le client 11g (et la version cx_Oracle correspondante).

EDIT: J'ai trouvé quelques anciennes versions de cx_Oracle ici: pour ceux qui sont pour le client Oracle 9 http://sourceforge.net/projects/cx-oracle/files/

... mais vous pouvez avoir besoin d'une version plus ancienne de Python (2.6).

+0

J'ai entendu dire que les premières versions de 10 ne fonctionnent pas réellement avec le paquetage cx_Oracle. Vous savez quoi que ce soit à ce sujet? Je pourrais, potentiellement, obtenir la version plus récente, mais cela impliquerait la modification d'un certain nombre de systèmes et j'espérais juste une autre solution. –

+0

@DKGasser: "sélectionnez la bannière de la version v $" ... nous sommes en cours d'exécution 10.2.0.4.0 64 bits & cx_Oracle fonctionne bien avec elle ... avez-vous des liens qui ne fonctionnent pas? – Gerrat

+0

après une recherche rapide google celui-ci apparaît, même si ce n'était pas l'original où j'ai vu la mention du «phénomène» http://forums.oracle.com/forums/thread.jspa?threadID=896150&tstart= 30 –