viernes, 7 de diciembre de 2012

Acceso a Base de Datos(Oracle y Mysql) en C#

Despues de un largo tiempo de no subir algun aporte hoy traigo este tema a modo de tutorial y saldar dudas que yo tenia y que les puede servir a mas de alguno.

Cuando decimos Acceso a datos es cuando cierta aplicacion en nuestro caso C# necesita poder compartir informacion con algun banco de datos para poder hacer esto pues se elije un gestor de base de datos la mayoria de casos siempre combinan c# y SqlServer por ser del mismo propietario es bastante facil la conexion y la implementacion.

En este tutorial haremos de lado ese gestor y nos iremos por Oracle la version express y Mysql por ser uno de los mas usados.

La teoria la tendran que leer antes aca nos bastara con saber que usaremos un objeto conexion para los dos casos que es el que nos ayuda con toda transaccion que deseemos realizar.

Usaremos el IDE SharpDeveloped no porque sea gratis ,ya que sabemos que Visual Studio tiene un version exprees sino porque yo siento que es mucho mas rapido.

La primera conexion sera  a una base de datos Oracle usaremos el motor que instalamos en tutoriales anteriores link.

Bien creamos un nuevo proyecto de consola y añadimos una referencia al proyecto.

Luego buscamos el driver para Oracle.
Bien ahora crearemos una carpeta dentro del paquete el cual se llamara baseDatos dentro de estas carpetas crearemos una clase que se llama ConexionOracle nos fijamos que haya asignado el namespace acorde a la carpeta.


Bien luego copiaremos ese codigo en el cual se detalla como conectar mediante el objeto  OracleConnection que nos proporcionara una conexion abierta para poder ejecutar transacciones.Bien el protocolo es por donde conectaremos en nuestro caso tcp,el host como es local por defecto es localhost cuando tengan la ip de un servidor externo la ponen ahi,el puerto por defecto es 1521,el siguiente sera dedicated , el nombre del servicio puede ser XE o Orcl en algunos caso depende de la configuracion, el user id tiene que ser el usuario del esquema y la contraseña de dicho esquema.

Luego hacemos un metodo el cual retornara un tipo de  OracleConnection el cual solo basta con instanciarlo y en su contructor mandarle la cadena de conexion que nos la retorna el metodo cadenaConexion(),el cual arma la cadena de conexion para oracle cabe recalcar que hay muchas maneras distintas para realizar esa cadena dependiendo de la necesidad por el momento yo conecto con esta y va bien.Luego de instanciar el objeto abrimos conexion si aca sucede un error se mostrara la exception.

 En nuestra clase Main solo instanciamos el objeto y llamamos al metodo.

Luego ejecutamos el programa y veremos esta pantalla si todo esta correcto.

Bien hasta el momento si has llegado hasta aca felicidades ya realizaste una conexion a oracle.

Para realizar la conexion a mysql es diferente tendremos que bajar el driver de mysql para .net descargar
lo instalamos es puro next y next y tendremos que agregarlo a las referencias de nuestro proyecto.
Luego en la misma carpeta donde esta la conexion a Oracle creamos una clase que se llame  ConexionMysql y tendra el siguiente codigo.
El nuestro caso el servidor sera 127.0.0.1 que es igual a localhost luego el nombre de la base de datos el usuario que por defecto es root y la contraseña es vacia.

Luego hacemos uso de una propiedad que se llama ConnectionString al cual tenemos que igualarlo a la cadena de conexion valida.y luego abrimos la conexion todo esto dentro del try para capturar cualquier error  y mostrarlo en dado caso haya ocurrido.

En la clase principal va este codigo que no es mas que una instancia de la clase conexion a mysql y llamada al metodo getConexion() el cual retornara el objeto conexion abierto.
y si todo ha salido correctamente ejecutamos el proyecto y veremos esta pantalla.

Eso ha sido todo por hoy espero postear ejemplo de como hacer un mantenimiento(insertar,modificar eliminar mostrar) o mejor conocido como CRUD desde c# y Oracle.

descargar

No hay comentarios:

Publicar un comentario