cx_Oracle 5.0.4 + Python 3.1.2 + Oracle Instant Client 10.2.04; DLL Load failed on import (Win/NT)
hansmu at xs4all.nl
Fri Aug 13 21:14:40 CEST 2010
> On Aug 12, 12:30 pm, Alexander Gattin <xr... at yandex.ru> wrote:
>> Does Windows have anything like LD_LIBRARY_PATH/SHLIB_PATH?
Yes and no. Windows uses PATH both for finding execuables and for
finding DLLs. So if there's a DLL Windows cannot find, you need to
add the folder containing that DLL to your PATH variable.
> No, isn't that only if I have an actual Oracle client installed (not
> the instant client)?
Whether you use the instant client or an actual Oracle client is not
the issue. You may or may not need LD_LIBRARY_PATH either way.
When you import cx_Oracle on Linux, it loads a file named cx_Oracle.so
which in turn loads two files named libclntsh.so and libnnz10.so.
These two files are part of the Oracle client installation. The dynamic
loader has a list of directories where it tries to find these files;
if they aren't there, then the import of cx_Oracle will fail. In that
case, you need to set LD_LIBRARY_PATH to the directory containing them
(or talk your sysadmin into adding this directory to the default path.
He'd do that by adding the directory to /etc/ld.so.conf and running
Hope this helps,
More information about the Python-list