Blog

.Net C# Conectarse a Base de Datos Oracle

Posted by:

En uno de los proyectos que he de realizar necesito conectarme a una base de datos de Oracle, y claro, necesito utilizar el espacio de nombres que contiene las herramientas para trabajar con Oracle.

Por defecto/norma este espacio no está cargado, y es preciso añadir la referencia. ¿Cómo lo hacemos?

  1. Botón derecho sobre el nombre del proyecto de la ventana de solución del esplorador
  2. Añadir referencia .Net (primera pestaña)
  3. Buscar por la “S” de System.Data.OracleClient

Una vez realizados estos pasos,ya podremos trabajar con las herramientas de Oracle.

Espacio de nombres:

C#:

  1. span style=”color: #008080; font-style: italic;”>//o  bien
  2.  

En varios foros, he visto que la opción recomendada es la segunda, así que después de probarlo a mi también me funciona.

Aunque suene un poco básico, cuando comenzamos a escribir código, hemos de direrenciar entre el using System y el using Oracle, pues por ejemplo la gente busca inicialmente el System.Oracle.DataAccess y este espacion no existe.
A continuación dejo un ejemplo de cadena de conexión:

C#:

  1. span style=”color: #808080;”>”User id=Admin;Password=mipassword;Data Source=nombrebasedatos”

Una aplicación práctica para ver que estamos recuperando los datos correctamente, sería ejecutar una consulta para recuperar unos valores, así que pasamos a la práctica.
A continuación seguiremos con los pasos necesarios para recuperar una tabla de la base de datos y plasmarla en un datagrid en la pantalla.

C#:

  1. span style=”color: #808080;”>”select * from NombreTabla”;
  2. cmd.CommandText = query;
  3. cmd.CommandType = CommandType.Text;
  4.  
  5. //****Ejecutamos la consulta mediante un DataReader de Oracle
  6. OracleDataReader reader = cmd.ExecuteReader();
  7.  
  8. //***si lo quieres en un dataset
  9. //Al adaptador hay que pasarle el string SQL y la Conexión
  10. “select * from NombreTabla”“NombreTabla”“NombreTabla”//Nos acordamos de cerrar la conexión en el caso de que todavía esté abierta
  11. conn.Close();

De esta manera, si lo hemos hecho correctamente, visualizaremos los datos de la tabla en el datagridview que debemos haber insertado previamente en el formulario.

5


About the Author:

Discussion

  1. Angel  November 25, 2011

    disculpa, una pregunta, en esta parte String connString = “User id=Admin;Password=mipassword;Data Source=nombrebasedatos”; a que te refieres con el source y como puedo saber cual es el mio? gracias =)

  2. lvgstark  January 21, 2012

    Source es El nombre de la base de datos, pero con la ruta completa.

    por ejemplo en sqlexpress pondriamos \\sqlexpress\naezodb, aunque en alguna ocasión si no resuelve el nombre de la base de datos
    es conveniente poner la ip (\\192.168.1.X\naezodb)

    La ruta la obtendrás de tu instalación de la base de datos.

  3. zoraida  November 15, 2012

    Muchas Gracias¡ yo nunca había hecho nada con Oracle y estos tips me han ayudado un montón… :9)))

  4. tomas  December 20, 2012

    hola,creando una aplicacion c# creando con arquitectura en capas cual seria la conexion y los controles tales como try y Cath tengo un problemita con eso
    saludos y de ante mano gracias

  5. lvgstark  December 23, 2012

    Tienes que descargarte el conector de .net para oracle.

    Respecto al Try y Catch, es igual que para SQL, ya que son comandos de C#.

    Haces un Try de la conexión y el comando de oracle que quieras, y si te da error, hará el catch.

    try
    {
    comandos de conexion y script
    }
    catch
    {
    mensaje de error o lo que queramos que haga si pasa el error
    }

    en este post hay un ejemplo del uso de try y catch

    http://lluisvera.com/2011/04/net-c-enviar-mail-sin-outlook/

Add a Comment

UA-30641277-1