# - 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
U kunt arch (32 of 64-bit) vinden voor:
- python door de python gewoon in de interactieve modus op de opdrachtregel uit te voeren.
- cx_Oracle:kijk naar de naam van het gedownloade bestand.
- Oracle-client:
- voer de sqlplus uit die deel uitmaakt van uw klantenpakket
- start Taakbeheer en kijk of er bij sqlplus.exe "*32" staat (=32 bit) of niet (=64 bit)
- als je geen sqlplus hebt, gebruik dan
dumpbin /headers oraocciXX.dll
- Als je POSIX gebruikt, wist je het waarschijnlijk al. Gebruik
file oraocciXX.so
Eindelijk, als je het nog steeds niet begrijpt, zijn hier echt instructies voor dummies:
- Zorg ervoor dat je 32-bits versies van python, cx_Oracle en Oracle Instant Client hebt geïnstalleerd. Deze kunnen ook 64-bits zijn, maar moeten voor alle 3 hetzelfde zijn. Kan niet mixen en matchen. Links:
- Oracle Instant Client Laten we zeggen dat het is geïnstalleerd in
C:\ProgFiles\OraClient\11_2
- cx_Oracle
- Python
- Oracle Instant Client Laten we zeggen dat het is geïnstalleerd in
- Windows:
set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
- POSIX (Linux/Unix/Solaris...) <-- Niet getest..
export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
- (64 bit)
export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
- voer
path-to-python/python.exe -c "import cx_Oracle"
uit om te testen of je setup werkt of niet.- als het wordt afgedrukt
- niets:dan is het gelukt.
ImportError: DLL load failed: The specified module could not be found
:dan wordt oraocciXX niet gevonden. Stel de env-vars correct in.ImportError: DLL load failed: %1 is not a valid Win32 application
:U heeft een 32/64 bit-mismatch.