asp.net - Trying to run a 32-bit .NET app on a 64-bit Windows client -




yes, have checked other similar questions, none of them seem match problems having.

i have 64-bit windows client 64-bit oracle installed, app uses library requires 32-bit oracle client. created directory , put 32-bit instant client basic files it, , added suggested entries web.config, when try running app locally, 2 sorts of exceptions thrown.

here web.config file:

<configuration>   <configsections>     <section name="oracle.dataaccess.client"              type="system.data.common.dbproviderconfigurationhandler, system.data, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089" />   </configsections>   <system.data>     <dbproviderfactories>       <!-- remove in case defined in machine.config -->       <remove invariant="oracle.dataaccess.client" />       <add name="oracle data provider .net"            invariant="oracle.dataaccess.client"            description="oracle data provider .net"            type="oracle.dataaccess.client.oracleclientfactory, oracle.dataaccess, version=4.112.3.0, culture=neutral, publickeytoken=89b483f429c47342"/>     </dbproviderfactories>   </system.data>   <system.web>     <compilation debug="true" targetframework="4.6.1" />     <httpruntime targetframework="4.6.1" />   </system.web>    <oracle.dataaccess.client>     <settings>       <add name="dllpath"               value="c:\ora\instantclient32_12-2-0-1-0"/>       <add name="fetchsize"             value="1048576"/>       <add name="promotabletransaction" value="promotable"/>       <add name="statementcachesize"    value="10"/>       <add name="tracefilename"         value="c:\ora\instantclient32_12-2-0-1-0\odpnet2.trc"/>       <add name="tracelevel"            value="0"/>       <add name="traceoption"           value="1"/>     </settings>   </oracle.dataaccess.client>  </configuration> 

however,

oracleconnection conn = new oracleconnection(connectionstring); 

(where connectionstring valid connection string) throws,

the provider not compatible version of oracle client.

if change 4.0.0.0 4.112.3.0 in configsection entry, throws,

could not load file or assembly 'system.data, version=4.112.3.0, culture=neutral, publickeytoken=b77a5c561934e089' or 1 of dependencies. system cannot find file specified.

note oracle.dataaccess.client 32-bit client - think system.data might 64-bit (is there way tell difference?).

also note that, because app depends on external app uses 32-bit unmanaged oracle.dataaccess client, can't switch oracleclient oraclemanagedclient.

i running on 32-bit iis express. have tried switching cpu "x86", no effect.

what need running?

edit when change dllpath setting directory not exist, still throws, "the provider not compatible version of oracle client." guessing dllpath not think does, , oracle.dataaccess trying use installed full version of oracle (which 64-bit).

next question: how app use 32-bit instant client files have?

turns out problem was, instant client directory didn't have right version of oraops11w.dll in it.





wiki

Comments

Popular posts from this blog

Asterisk AGI Python Script to Dialplan does not work -

python - Read npy file directly from S3 StreamingBody -

kotlin - Out-projected type in generic interface prohibits the use of metod with generic parameter -