none
Error conexión a Oracle RRS feed

  • Pregunta

  • Buenas.

    Tengo VS2012 en un equipo con Win8. He instalado Oracle XE 11g para 64 bits. Estoy utilizando el namespace System.Data.OracleClient para conectar con la BD. El problema que surge es que al momento de abrir la conexión, me lanza una Excepción indicando que se intenta utilizar un componente de 32 bits para una instancia Oracle de 64 bits. Imagino que es por la referencia OracleClient. Por otro lado, me están marcando deprecated los objetos de este namespece. Por favor su apoyo.

    Muchas gracias.

    domingo, 31 de agosto de 2014 15:21

Respuestas

Todas las respuestas

  • Hola

    SI SOLUCIONO TU PROBLEMA NO OLVIDES MARCAR COMO RESPUESTA Y VOTAR COMO UTIL....

    Si tu manejador de DB es de 64 Bits lo que se conecte a ella tambien debera ser de 64 bits o mejor dicho compilado para ser ejecutado en una plataforma de 64

    echale un vistazo a esto http://msdn.microsoft.com/es-es/library/ms185328.aspx

    http://blog.neuronaltraining.net/?p=12637


    EFRAIN MEJIAS C VALENCIA - VENEZUELA



    domingo, 31 de agosto de 2014 17:34
  • hola... Como tienes configurado tu App pool? Abre IIS y en Grupo de aplicaciones selecciona tu pool y pulsa botón derecho opciones avanzadas y establece Habilitar aplicaciones 32 bit a falso.

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    domingo, 31 de agosto de 2014 17:52
    Moderador
  • hola

    no instalaste el ODAC ? si lo instalaste valida que fuera la de 64 bits? esto es importante porque ODAC esta para 32 y 64

    ----

    si usaste la libreria de Oracle que incluye .net esta obsoleta, tienes que usar la provista por Oracle, por eso se instala el ODAC, como se explica aqui

    Build a .NET Application on the Oracle Database with Visual Studio 2005 or 2008

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    lunes, 1 de septiembre de 2014 2:56
  • Hola, 

    Gracias a todos por responder. No había publicado en el IIS aún ya que recién estoy empezando la fase de desarrollo, y me lanzaba error con Cassini al  abrir la conexión. Supongo que se debe a que la DLL utilizada (System.Data.OracleClient) es de 32 bits, sin embargo al realizar el publicado en el IIS (en la misma PC de desarrollo Win 8 x64), en modo Any CPU, se logró conectar de manera exitosa, verificando el AppPool como indica Sergio Parra, tiene establecida la opción a false, de tal forma que si la establezco en true, se replica exactamente el mismo error que arroja Cassini. Ahora bien, ya había leído en algún momeno que dicho componente no debería utilizarse para futuros desarrollos con BD Oracle, y se debería utilizar la DLL OracleDataAccess que bien menciona Lendro Tuttini, pero la verdad, no entiendo muy bien lo del ODAC, no se supone que sólo necesitaría descargar dicha DLL de la página de Oracle (no se si es posible desrcargar sólo la DLL) y agregarla como referencia a mi proyecto y al momento de generar el publicado, esta se generaría también para ser deployada en el IIS? Lo digo, porque me pregunto ¿para que voy a instalar tantos componentes que incluye el ODAC si sólamente necesito una DLL?

    Al final he instalado el ODAC en el equipo de desarrollo, y he agregado la referencia OracleDataAccess.dll al proyecto mapeando la ruta donde se instaló el ODAC y se logra abrir la conexión con Cassini, pero mi duda es qué va a pasar al momento de publicarla en un Servidor X al que yo no tengo acceso ya que sólo envío el compilado, si dicho servidor no va a contar con ODAC.

    Finalmente, otra duda adicional: Yo ya tenía instalado Oracle XE 11g, ¿ODAC incluye todo incluyendo el motor de BD de tal forma que mi instalación Oracle XE 11g quedaría relegada o sólo incluye los componentes para trabajar con el motor que tenía previamente instalado?

    Por favor si me siguen orientando, muchas gracias, saludos.


    • Editado eduar2083 martes, 2 de septiembre de 2014 22:40
    martes, 2 de septiembre de 2014 22:35