Usuario
acceso a oracle error de cliente

Pregunta
-
hola
tengo instalado el client11g de oracle en mi maquina de 32bits, he creado un webservice asmx, y funciona todo perfecto en mi maquina
al publicar en el server, lo que hago es publicar en una carpeta en mi maquina y copio el contenido de la carpeta al server en una carpeta X que es el directorio virtual del webservice. la aplicacion de ese webservice esta configurada con un poolApp que tiene habilitada la opcion de habilitar aplicaicones de 32bits, en un server win2008
el tema es q el webservice funciona bien, solo que al ejecutar una consulta a oracle obtengo el siguiete erro
System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client
at Oracle.DataAccess.Client.OracleInit.Initialize()
at Oracle.DataAccess.Client.OracleConnection..cctor()
--- End of inner exception stack trace ---
at Oracle.DataAccess.Client.OracleConnection..ctor(String connectionString)el server tambien tiene el cliente de oracle11g, no entiendo que pasa, por q segun el error es como que estuviera usando una version de cliente diferente
En la carpeta BIN de mi webservice esta copiada la libreria oracle.dataaccess.dll que viene de mi maquina
muchas gracias por la ayuda
Salu2 Sergio T
Todas las respuestas
-
hola
en el servidor que ODAC tienes instalado ? o sea es uno de 64 bits
lo pregunto porque si llevas tu desarrollo con la dll de OracleClient de 32 seguro tendras problemas
deberias en ese servidor buscar la dll de OracleClient y copiarla a tu desarrollo web y volver a publicar, para asi compile usando la dll de 64bit compatible con al del servidor
el problema es que vas a desarrollar con la dll de 32 en tu equipo pero cuando publiques deberias reemplzar la dll a la de 64 para poder subirlo al sitio
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
hola Leandro
te cuento que hice lo que me sugeriste me traje la oracle.dataaccess.dll de 64bits a mi maquina de 32, la referencié ejecute con exito en mi maquina, compile, publique lleve al server de produccion y .....ahora, al consumir el webservice desde otra aplicacion me resulta el siguiente error
Server was unable to process request. ---> Could not load file or assembly 'Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
he probado colocando "Copy Local=False y Specific Version= False" en la configuracion de la referencia de la libreria.
Se te ocurre algo más?
Salu2
Sergio
Salu2 Sergio T
-
que tal Sergio,
para solucionar este problema, hay que configurar el IIS. Revisar la version del Framework .Net instalada sobre el IIS. Si la versión es de 2.0 y la aplicación esta hecha con un framework 4.0 hay que cambiar la version del .Net Framework del IIS a la versión 4.0.
Omar Camacho
Software Developer
MCP C#, MCTS ASP.NET, MCTS ADO.NET -
la referencié ejecute con exito en mi maquina, compile,
si ejecutaste en tu pc referenciando con una dll de 64 bit y la aplciacion recupera los datos sin error
entonces algo hiciste de forma incorrecta, porque esa dll en tu entorno de desarrollo tiene que fallar, tu pc de desarrollo es de 32 bit y no tiene un ODAC compatible no puede recuperar datos
Could not load file or assembly 'Oracle.DataAccess, Version=2.112.1.0
validaste que la dll de Oracle este en el \bin del sitio, alli tiene que estar al dll de 64 bits
que es la misma que cambiaste en al referencia en tu proyecto y volviste a publicar
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Editado Leandro TuttiniMVP jueves, 21 de febrero de 2013 3:48
-
-
Si,.. extraño que haya funcionado la verdad que me parecio raro,... voy a probar nuevamente y te aviso, ahora opte por poner mi webservices desde mi maquina en la red local por la urgencia del tema,.. pero la siguiente semana volvere a este problema por q debo dar una solucion definitiva, ya te comento
muchas gracias
Salu2 Sergio T
-
Hola, yo se que ya hace bastante tiempo de esta pregunta, pero de casualidad recuerdas como lo solucionaste? Tengo un problema muy similiar y pues aunque he leido mucho tratando de encontrar una respuesta no le llego a la misma.
Agradezco si me pudiesen ayudar.
Saludos