sql >> Database teknologi >  >> RDS >> Oracle

Python-modulet cx_Oracle-modulet kunne ikke findes

# - 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

Du kan finde ud af arch (32 eller 64-bit) for:

  • python ved blot at køre python i interaktiv tilstand på kommandolinjen.
  • cx_Oracle:se på navnet på den downloadede fil.
  • Oracle-klient:
    • kør sqlplus, der er en del af din klientpakke
    • start Task Manager og se, om sqlplus.exe har "*32" ved siden af ​​sig (=32 bit) eller ej (=64 bit)
    • hvis du ikke har sqlplus, skal du bruge dumpbin /headers oraocciXX.dll
  • Hvis du bruger POSIX, ville du sikkert allerede vide det. Brug file oraocciXX.so

Endelig, hvis du stadig ikke forstår, er her virkelig for dummies instruktioner:

  • Sørg for, at du har installeret 32-bit versioner af python, cx_Oracle og Oracle Instant Client. Disse kan også være 64-bit, men skal være ens for alle 3. Kan ikke blande og matche. Links:
    • Oracle Instant Client Lad os sige, at den er installeret i C:\ProgFiles\OraClient\11_2
    • cx_Oracle
    • Python
  • Windows:
    • set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
  • POSIX (Linux/Unix/Solaris...) <-- Ikke testet..
    • export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
    • (64 bit) export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
  • kør path-to-python/python.exe -c "import cx_Oracle" for at teste om din opsætning virker eller ej.
    • hvis den udskrives
    • ingenting:så lykkes det.
    • ImportError: DLL load failed: The specified module could not be found :så findes oraocciXX ikke. Konfigurer env vars korrekt.
    • ImportError: DLL load failed: %1 is not a valid Win32 application :Du har en 32/64 bit uoverensstemmelse.


  1. Oracle Kombiner flere kolonner til én

  2. Oprettelse af en ODBC-linket server uden at konfigurere en datakilde

  3. Sådan sletter du data fra Elastisearch

  4. SQL-kommandoen INSERT virker, men dataene vises ikke i tabellen