# - 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 или 64-битова) за:
- python, като просто стартирате python в интерактивен режим на командния ред.
- cx_Oracle:вижте името на изтегления файл.
- Клиент на Oracle:
- изпълнете sqlplus, който е част от вашия клиентски пакет
- стартирайте диспечера на задачите и вижте дали sqlplus.exe има "*32" до него (=32 бита) или не (=64 бита)
- ако нямате sqlplus, използвайте
dumpbin /headers oraocciXX.dll
- Ако използвате POSIX, вероятно вече ще знаете. Използвайте
file oraocciXX.so
И накрая, ако все още не разбирате, тук са наистина инструкции за манекени:
- Уверете се, че сте инсталирали 32-битови версии на python, cx_Oracle и Oracle Instant Client. Те също могат да бъдат 64-битови, но трябва да са еднакви за всички 3. Не могат да се смесват и съчетават. Връзки:
- Oracle Instant Client Да кажем, че е инсталиран в
C:\ProgFiles\OraClient\11_2
- cx_Oracle
- Python
- Oracle Instant Client Да кажем, че е инсталиран в
- Windows:
set PATH=%PATH%;C:\ProgFiles\OraClient\11_2
- POSIX (Linux/Unix/Solaris...) <-- Нетествано..
export LD_LIBRARY_PATH=/path/to/your/32bit/oraocciXX.so
- (64 bit)
export LD_LIBRARY_PATH64=/path/to/your/64bit/oraocciXX.so
- изпълнете
path-to-python/python.exe -c "import cx_Oracle"
за да проверите дали вашата настройка работи или не.- ако се отпечатва
- нищо:значи е успешно.
ImportError: DLL load failed: The specified module could not be found
:тогава oraocciXX не е намерен. Настройте правилно env vars.ImportError: DLL load failed: %1 is not a valid Win32 application
:Имате 32/64-битово несъответствие.