entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Conectar desde C# a Oracle

Buenas noches compañeros, llevo unas horas largas peleando contra la maquina, pero no se porque me da error y no conecta:

using System;
using Oracle.DataAccess.Client;
using System.Configuration;

namespace AgendaWindows.Conexion
{
    public class DBoracle
    {
        string conexionString = "User id = seas; Password=seas;Data Source = BASE;";

        public void conectar()
        {
            OracleConnection conexion = new OracleConnection(conexionString);
            conexion.Open();
            System.Windows.Forms.MessageBox.Show("Conetado a Oracle");
        }
    }
}

Se que le debería poner a que host debe conectarse, porque esta en una máquina virtual...pero no se como se pone ni si se debe poner...

Desde el "Explorador de Servidores" si que conecta sin problema alguno...pero desde código no...¿Alguna idea?

Gracias :)

1voto

carlossevi comentado

¿Qué excepción o error te da?

0voto

Yesod comentado

Justo en la línea de conexion.Open(); me da error de null

0voto

carlossevi comentado

¿Te refieres a NullReferenceException? Si conexion.Open() devuelve un error porque se hace referencia a un objeto no establecido como instancia es porque conexion no existe, un poco raro si lo defines en la línea superior. ¿Puedes poner el mensaje de la excepción?

0voto

Yesod comentado

La imagen del NullReference

Mas de cerca :p

0voto

carlossevi comentado

El error lo marca en esa línea porque está dando dentro del método Open(), pero en la parte del código que tu no controlas, en la Oracle.DataAccess.dll. Es un problema de la clase OracleConnection que no controlen bien los errores ¯_(ツ)_/¯

0voto

Yesod comentado

Y...¿Que puedo hacer?

0voto

Yesod comentado

¿Alguna idea de como puedo solucionar esto?

0voto

carlossevi comentado

La verdad es que no, nunca he trabajado con Oracle.DataAccess.dll y parece que el error está en su uso.

Lo único que te puedo aconsejar es que revises que la versión de Oracle que tienes instalada en el lado del cliente se corresponde con la del dll referenciado en Visual Studio.

1voto

bl4z3r comentado

¿Tienes las ultima versión Conector Oracle? ¿Son compatibles la versión de servidor y la versión del Conector? ¿Estas usando la versión correcta de .Net?

0voto

Yesod comentado

La última versión si, la release 4 de la página de Oracle, si son compatibles no lo se, desde el explorador de Visual Studio me hace la conexión sin problemas, el problema viene cuando lo hago en base a código.

Mi versión de Oracle es algo antigua, 10G
Mi versión de Visual Studio es la de 2015...

1 Respuesta

4votos

bl4z3r Puntos16850

Bien, empecemos con declarar ciertas restricciones y despejando dudas con respecto al uso de conector de Oracle para .Net

ODP.Net es estricto con varias cosas:

  • La versión para arquitecturas x64 no es compatible con la de x86.
  • La versión para .Net v2 no es compatible para .Net v4

Y para despejar las dudas sobre cierto tema:

  • El conector que ofrece .Net en sus librerías no es el mismo que el ofrece Oracle en su pagina. Son 2 productos diferentes. Por ello, puede conectarte desde el explorador de servidores y no desde código.
  • La versión que has descargado soporta desde la versión actual de Oracle (12c) hasta la version 10gR2.

Si tienes las version 10g debes descargarte la version anterior de ODP.Net que es la versión 11.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta