.net – System.data.OracleClient with 32 bits oracle client driver on Seven 64 bits Operating system

netsystem.data.oracleclientwindows

I have a Web application migrating from asp.net 1.1 (VS 2003) to Asp.net 2 ( VS 2008).
I have a problem to execute Oracle connexion on the new version . The dev environnement is 64 bits Seven. When generate application with all CPU , i have a probleme on System.Data.OracleClient, exception System.BadImageFormatException: Tentative de chargement d’un programme de format incorrect. (Exception de HRESULT : 0x8007000B). . I generate on x86 CPU and i have this error on start :

[BadImageFormatException: Impossible de charger le fichier ou
l'assembly 'CpimWebApplication' ou une de ses dépendances. Tentative
de chargement d’un programme de format incorrect.]
System.Reflection.Assembly._nLoad(AssemblyName fileName, String
codeBase, Evidence assemblySecurity, Assembly locationHint,
StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
forIntrospection) +0
System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,
Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
forIntrospection) +416
System.Reflection.Assembly.InternalLoad(String assemblyString,
Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
forIntrospection) +166 System.Reflection.Assembly.Load(String
assemblyString) +35
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String
assemblyName, Boolean starDirective) +190

Whats the problem ? The Oracle Client on machine is 32 bits version .
I have read on web that it s not possible to utilise System.data.OracleClient with 32 bits oracle Client ? Instal 64 bits Oracle client is the solution ?
TIA
Regards

Best Answer

If you are running your application in 64 bits mode you cannot use the 32 bits Oracle driver.

You need to either install the 64 bits Oracle driver and run your application in 64 bits mode,

or

set the application to run in 32 bits mode. You can do that in IIS by choosing your application pool, go to Advanced settings and set "Enable 32-bit applications" to true.

Related Topic