sql >> Databasteknik >  >> RDS >> Oracle

Python-modulen cx_Oracle-modulen kunde inte hittas

# - 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 ta reda på arch (32 eller 64-bitars) för:

  • python genom att bara köra python i interaktivt läge på kommandoraden.
  • cx_Oracle:titta på namnet på den nedladdade filen.
  • Oracle-klient:
    • kör sqlplus som är en del av ditt klientpaket
    • starta Aktivitetshanteraren och se om sqlplus.exe har "*32" bredvid sig (=32 bitar) eller inte (=64 bitar)
    • om du inte har sqlplus, använd dumpbin /headers oraocciXX.dll
  • Om du använder POSIX skulle du förmodligen redan veta det. Använd file oraocciXX.so

Slutligen om du fortfarande inte förstår här är verkligen för dummies instruktioner:

  • Se till att du har installerat 32-bitarsversioner av python, cx_Oracle och Oracle Instant Client. Dessa kan också vara 64-bitars, men måste vara samma för alla 3. Kan inte blanda och matcha. Länkar:
    • Oracle Instant Client Låt oss säga att den är installerad i C:\ProgFiles\OraClient\11_2
    • cx_Oracle
    • Python
  • Windows:
    • set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
  • POSIX (Linux/Unix/Solaris...) <-- Otestad..
    • export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
    • (64 bitar) export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
  • kör path-to-python/python.exe -c "import cx_Oracle" för att testa om din inställning fungerar eller inte.
    • om den skrivs ut
    • inget:då är det framgångsrikt.
    • ImportError: DLL load failed: The specified module could not be found :då finns inte oraocciXX. Ställ in env vars korrekt.
    • ImportError: DLL load failed: %1 is not a valid Win32 application :Du har en 32/64 bitars missmatchning.


  1. Hur man använder google translate URL i Oracle plsql

  2. Hur man tar bort en primärnyckel i SQL

  3. Förmildrande indexfragmentering

  4. Postgresql Drop View