# - This import requires appropriate oraocciXX.dll to be available in PATH (on windows)
# (Probably LD_LIBRARY_PATH or LD_LIBRARY_PATH64 on POSIX)
# where XX is the oracle DB version, e.g. oraocci11.dll for Oracle 11g.
# - This dll is part of the Oracle Instant client pkg available here:
# http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
# - Also ensure that python, cx_Oracle and Oracle Client are of same arch (32 or 64-bit)
#
import cx_Oracle
Puoi scoprire arch (32 o 64 bit) per:
- python eseguendo semplicemente python in modalità interattiva sulla riga di comando.
- cx_Oracle:guarda il nome del file scaricato.
- Cliente Oracle:
- esegui sqlplus che fa parte del pacchetto client
- avvia Task Manager e verifica se sqlplus.exe ha "*32" accanto (=32 bit) o meno (=64 bit)
- se non hai sqlplus, usa
dumpbin /headers oraocciXX.dll
- Se stai usando POSIX probabilmente lo sapresti già. Usa
file oraocciXX.so
Infine, se ancora non capisci, ecco davvero le istruzioni per i manichini:
- Assicurati di aver installato le versioni a 32 bit di python, cx_Oracle e Oracle Instant Client. Questi potrebbero anche essere a 64 bit, ma devono essere gli stessi per tutti e 3. Impossibile combinare e abbinare. Collegamenti:
- Oracle Instant Client Diciamo che è installato in
C:\ProgFiles\OraClient\11_2
- cx_Oracle
- Pitone
- Oracle Instant Client Diciamo che è installato in
- Finestre:
set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
- POSIX (Linux/Unix/Solaris...) <-- Non testato..
export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
- (64 bit)
export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
- esegui
path-to-python/python.exe -c "import cx_Oracle"
per verificare se la tua configurazione funziona o meno.- se stampa
- niente:allora ha successo.
ImportError: DLL load failed: The specified module could not be found
:allora oraocciXX non si trova. Imposta le env vars correttamente.ImportError: DLL load failed: %1 is not a valid Win32 application
:Hai una mancata corrispondenza di 32/64 bit.