none
acceso a oracle error de cliente RRS feed

  • 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

    martes, 19 de febrero de 2013 21:45

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

    miércoles, 20 de febrero de 2013 12:15
  • 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

    miércoles, 20 de febrero de 2013 15:53
  • 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

    miércoles, 20 de febrero de 2013 16:26
  • 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


    jueves, 21 de febrero de 2013 3:47
  • Omar

    no veo que relacion tiene un problema con la libreria de oracle la version de .net

    adeasm si en el iis se configura .net 2 o 4 va a depender con que .net se desarrollo, pero esto no afecta a Oracle


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 21 de febrero de 2013 3:49
  • 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

    viernes, 22 de febrero de 2013 16:06
  • 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

    martes, 17 de noviembre de 2015 20:07