Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Python-Modul cx_Oracle-Modul konnte nicht gefunden werden

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

Arch (32 oder 64-Bit) finden Sie für:

  • Python, indem Sie Python einfach im interaktiven Modus auf der Befehlszeile ausführen.
  • cx_Oracle:Sehen Sie sich den Namen der heruntergeladenen Datei an.
  • Oracle-Client:
    • führen Sie sqlplus aus, das Teil Ihres Client-Pakets ist
    • Starten Sie den Task-Manager und prüfen Sie, ob neben sqlplus.exe "*32" steht (=32 Bit) oder nicht (=64 Bit)
    • Wenn Sie sqlplus nicht haben, verwenden Sie dumpbin /headers oraocciXX.dll
  • Wenn Sie POSIX verwenden, wissen Sie es wahrscheinlich bereits. Verwenden Sie die file oraocciXX.so

Schließlich, wenn Sie immer noch nicht verstehen, hier ist wirklich eine Anleitung für Dummies:

  • Stellen Sie sicher, dass Sie 32-Bit-Versionen von Python, cx_Oracle und Oracle Instant Client installiert haben. Diese könnten auch 64-Bit sein, müssen aber für alle 3 gleich sein. Kann nicht gemischt und angepasst werden. Links:
    • Oracle Instant Client Nehmen wir an, es ist in C:\ProgFiles\OraClient\11_2 installiert
    • cx_Oracle
    • Python
  • Windows:
    • set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
  • POSIX (Linux/Unix/Solaris...) <-- Ungetestet..
    • export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
    • (64 Bit) export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
  • führen Sie path-to-python/python.exe -c "import cx_Oracle" aus um zu testen, ob Ihr Setup funktioniert oder nicht.
    • wenn es gedruckt wird
    • nichts:dann ist es erfolgreich.
    • ImportError: DLL load failed: The specified module could not be found :dann wird oraocciXX nicht gefunden. Richten Sie die Umgebungsvariablen korrekt ein.
    • ImportError: DLL load failed: %1 is not a valid Win32 application :Sie haben eine 32/64-Bit-Nichtübereinstimmung.