# - 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
Możesz znaleźć arch (32- lub 64-bitowy) dla:
- python po prostu uruchamiając Pythona w trybie interaktywnym w wierszu poleceń.
- cx_Oracle:spójrz na nazwę pobranego pliku.
- Klient Oracle:
- uruchom sqlplus, który jest częścią pakietu klienta
- uruchom Menedżera zadań i sprawdź, czy obok programu sqlplus.exe znajduje się „*32” (=32-bitowy) czy nie (=64-bitowy)
- jeśli nie masz sqlplus, użyj
dumpbin /headers oraocciXX.dll
- Jeśli używasz POSIX, prawdopodobnie już wiesz. Użyj
file oraocciXX.so
Wreszcie, jeśli nadal nie rozumiesz, to naprawdę instrukcje dla manekinów:
- Upewnij się, że zainstalowałeś 32-bitowe wersje Pythona, cx_Oracle i Oracle Instant Client. Mogą być również 64-bitowe, ale muszą być takie same dla wszystkich 3. Nie można mieszać i dopasowywać. Linki:
- Oracle Instant Client Powiedzmy, że jest zainstalowany w
C:\ProgFiles\OraClient\11_2
- cx_Oracle
- Python
- Oracle Instant Client Powiedzmy, że jest zainstalowany w
- Okna:
set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
- POSIX (Linux/Unix/Solaris...) <-- Nietestowane...
export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
- (64-bitowy)
export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
- uruchom
path-to-python/python.exe -c "import cx_Oracle"
aby sprawdzić, czy twoja konfiguracja działa, czy nie.- jeśli się drukuje
- nic:to się powiedzie.
ImportError: DLL load failed: The specified module could not be found
:wtedy oraocciXX nie został znaleziony. Skonfiguruj poprawnie zmienne środowiskowe.ImportError: DLL load failed: %1 is not a valid Win32 application
:Masz niezgodność 32/64 bitów.