# - 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 nebo 64bitový) můžete zjistit pro:
- python pouhým spuštěním pythonu v interaktivním režimu na příkazovém řádku.
- cx_Oracle:podívejte se na název staženého souboru.
- Klient Oracle:
- spusťte sqlplus, který je součástí vašeho klientského balíčku
- spusťte Správce úloh a zjistěte, zda má sqlplus.exe vedle sebe "*32" (=32 bitů) nebo ne (=64 bitů)
- pokud nemáte sqlplus, použijte
dumpbin /headers oraocciXX.dll
- Pokud používáte POSIX, pravděpodobně byste to již věděli. Použijte
file oraocciXX.so
A konečně, pokud stále nerozumíte, zde jsou pokyny opravdu pro blbce:
- Ujistěte se, že jste nainstalovali 32bitové verze pythonu, cx_Oracle a Oracle Instant Client. Mohou být také 64bitové, ale musí být stejné pro všechny 3. Nelze je kombinovat. Odkazy:
- Okamžitý klient Oracle Řekněme, že je nainstalován v
C:\ProgFiles\OraClient\11_2
- cx_Oracle
- Python
- Okamžitý klient Oracle Řekněme, že je nainstalován v
- Windows:
set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
- POSIX (Linux/Unix/Solaris...) <-- Netestováno...
export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
- (64 bitů)
export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
- spusťte
path-to-python/python.exe -c "import cx_Oracle"
otestujte, zda vaše nastavení funguje nebo ne.- pokud se vytiskne
- nic:pak je to úspěšné.
ImportError: DLL load failed: The specified module could not be found
:pak oraocciXX nebyl nalezen. Nastavte správně proměnné prostředí.ImportError: DLL load failed: %1 is not a valid Win32 application
:Máte 32/64bitovou neshodu.