cx_Oracle - ImportError: DLL load failed: The specific module could not be found

来源:互联网 发布:mac pro type c 编辑:程序博客网 时间:2024/06/07 01:10

After installing python2.6 32 bit and cx_Oracle5.1.2-11g.win32-py2.6.msi on XP system on which has no Oracle server installed, try "import cx_Oracle", it reports "ImportError: DLL load failed: The specific module could not be found"

Root cause:
1) After using "dependency walker" against cx_Oracle.pyd, it reports missing "MSVCR100.DLL", "oci.dll" etc DLLs.
2) After searching and read the README.txt of cx_Oracle, it is clear that cx_Oracle depends on Oracle (instant) client.

Solution:
1) Download "Microsoft Visual C++ 2010 Redistributable Package (x86)" from "http://www.microsoft.com/en-us/download/details.aspx?id=5555" for "MSVCR100.DLL" and install it.
2) Download Oracle Instant Client from "http://www.oracle.com/technetwork/indexes/downloads/index.html", unpack the zip file and place it somewhere say "C:\Python26\instantclient_12_1"
3) Setup "ORACLE_HOME" env which points to the Oracle Instant Client directory, say ORACLE_HOME=C:\Python26\instantclient_12_1
4) Done


Reference:
http://blog.csdn.net/huzhenwei/article/details/3946308