Cómo crear una conexión ORACLE 11g – ASP.NET utilizando C#

Los siguientes pasos muestran la manera de establecer conexión entre el sistema gestor de base de datos Oracle y el modelo de desarrollo ASP.NET.

Antes que nada es importante mencionar que en algunas ocasiones es conveniente dejar a un lado lo convencional y no utilizar solo aplicaciones de Microsoft para brindar tecnología a un sistema. Muchas empresas y DBA`s (Database Administrator) eligen los servicios de Oracle antes que otros motores de BD convirtiéndolo en uno de los mejores y mas utilizados. Algunas razones por las que es seleccionado son por las características de desempeño, facilidad en la escalabilidad, la alta disponibilidad en la base de datos y la seguridad implementada en sus aplicaciones.

Para este ejercicio necesitarás:

1.- Para comenzar se debe de construir la base de datos que se desea utilizar en Oracle.

2.- Una vez creada la base, se debe de crear el proyecto de tipo Web Aplication y agregar un WebForm.

Es importante agregar la siguiente referencia al proyecto ya que sin ella no se podrá tener accedo a ninguna libreria Oracle.

3.-Se agrega la referencia al componente Oracle Data Access, ubicado en la carpeta de instalacion Oracle  en el disco c de la computadora. /oraclexe/app/oracle/product/11.2.0/server/odp.net/bin/OracleDataAccess.dll

4.-A continuación se agrega una nueva clase dentro del proyecto.

5.-Ahora dentro de la clase antes creada se realiza el código de conexión:

//Se declara la siguiente linea para el acceso a las librerías Oracle
 using Oracle.DataAccess.Client;
//declaración de Objeto Conexión a Oracle
 private OracleConnection cn;
public Conexion()
{
  //Utilizaremos un try/catch para verificar que no ocurrió algún error 
  try{
    //Se crea una nueva conexión, el nombre del Usuario y contraseña son
     los establecidos en el momento de la instalación de Oracle
     cn= new OracleConnection("Data Source=*; User Id=SYSTEM;
                               Password=123456;");
    
   //Se abre la conexión creada
     cn.Open();
   //Mostraremos un mensaje en pantalla con el estado de la conexión
     MessageBox.Show(cn.State.ToString()); 
     }
catch(Exception e)
      {
   //Mensaje de Error en caso de no establecer conexión
    MessageBox.Show("No se realizar la conexion. Error: " + ex);
     }
 }

Recuerda que es necesario cerrar la conexión.

 public void cerrarConexion
   {
  //Cerramos conexión
   cn.Close();
   }

También se debe crear una nueva función de tipo OracleConnection  para regresar la conexión cuando la clase sea llamada.

 public OracleConnection regresaConexion()
 { return cn; }

Listo ya tenemos nuestra clase conexión, la cual utilizaremos cada vez que necesitemos comunicarnos con la base de datos en Oracle como se muestra en el siguiente ejemplo:

  Conexion c;
  OracleCommand cmd;
  String query=""; 

private void InsertDatos(object sender, EventArgs e)
  {
    c = new Conexion(); //nueva conexión
    query="INSERT INTO  Nombre_Tabla VALUES(Valores_a_Insertar_en_Tabla);"
 
    cmd = new OracleCommand(query, c.regresaConexion());
    cmd.ExecuteNonQuery();
   //Mensaje Inserción exitosa
    MessageBox.Show("Datos insertados correctamente");
    c.cerrarConexion(); //se cierra la conexión
 }

Es importante mencionar que OracleCommand representa una instrucción SQL o un procedimiento almacenado que se va a ejecutar en una base de datos.

El link de la documentación de Oracle se encuentra en el enlace siguiente:
http://www.oracle.com/technetwork/es/database/enterprise-edition/documentation/index.html