cx_Oracle throws: ImportError: DLL load failed: This application has failed to start ...

Ruben van den Berg rubenvandenberg1978 at gmail.com
Mon Nov 25 15:22:35 EST 2013


Thx for all the suggestions! 

I hope this doesn't come as a disappointment but it seems the final solution was to install version 12 (instead of 11) of Oracle's instantclient and to include the inner folder (holding OCI.DLL and related files) to "Path" and "ORACLE_HOME".

I haven't the slightest clue why version 11 just - wouldn't - run but due to backward compatibility it seems a stressful weekend got a happy ending anyway.

Op maandag 25 november 2013 11:38:39 UTC+1 schreef Albert-Jan Roskam:
> --------------------------------------------
> 
> On Sun, 11/24/13, MRAB <python at mrabarnett.plus.com> wrote:
> 
> 
> 
>  Subject: Re: cx_Oracle throws: ImportError: DLL load failed: This application has failed to start ...
> 
>  To: python-list at python.org
> 
>  Date: Sunday, November 24, 2013, 7:17 PM
> 
>  
> 
>  On 24/11/2013 17:12, Ruben van den
> 
>  Berg wrote:
> 
>  > I'm on Windows XP SP3, Python 2.7.1. On running
> 
>  >
> 
>  > import cx_Oracle
> 
>  >
> 
>  > I got the error
> 
>  >
> 
>  > ImportError: DLL load failed: This application has
> 
>  failed to start because the application configuration is
> 
>  incorrect. Reinstalling the application may fix this
> 
>  problem.
> 
>  >
> 
>  > I then ran Dependency Walker on cx_Oracle.pyd. Its
> 
>  first complaint was about msvcr80.dll. However, this file is
> 
>  present in
> 
>  C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.91_x-ww_0de56c07.
> 
>  (I believe it's part of the MS Visual Studio C++ 2008
> 
>  package which I installed.)
> 
>  >
> 
>  > I obviously uninstalled and reinstalled the cx_Oracle a
> 
>  couple of times but so far to no avail.
> 
>  >
> 
>  > Does anybody have a clue what to try next?
> 
>  >
> 
>  > For a screenshot of Dependency Walker, please see: https://dl.dropboxusercontent.com/u/116120595/dep_walker_orac.jpg
> 
>  >
> 
>  It looks like it's a path issue.
> 
>  
> 
>  You say that msvcr80.dll is in 
> 
>  C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.91_x-ww_0de56c07,
> 
>  
> 
>  but is that folder listed as part of the search path?
> 
>  
> 
>  Have a look at the Windows' PATH environment variable.
> 
> 
> 
> 
> 
> ===> Unlike in Linux with LD_LIBRARY_PATH, you can change PATH at runtime in Windows, e.g
> 
> import os, sys, ctypes
> 
> if sys.platform.startswith("win"):
> 
>     os.environ["PATH"] += (os.pathsep + r"c:\your\new\path")
> 
>     ctypes.WinDLL("msvcr80.dll")




More information about the Python-list mailing list