Conexiones .Net Con Postgresql 8.4

21 mayo, 2010 at 12:22 (Ado.Net, C#, General, SharpDevelop)

Introducción.

Ado.net provee varia formas de conectarse a distintas base de datos de muchas formas ya sea por ODBC o también usando librería creadas por terceros que ayudaran a la conexión con la base datos que se requiera, la forma de conexión es simple y de la misma forma como conectamos a una base de datos sqlserver y describe así mismo las misma clases que en la librería System.Data.SqlClient.

Una de esta librería para la conexión de Postgresql con .Net es la librería Npgsql, la cual usaremos para la conexión a la base de datos postgresql.

Esta librería no permitirá conectarnos sin mayor problema y también es util para usarla con Mono.

Usaremos Windows Form para la prueba y uso de esta libreria. Aunque para este ejemplo usamos Visual Studio 2010 con cualquier versión de Visual Studio podremos realizar la conexión.

Materiales.

  1. Postgresql 8.4
  2. Npgsql 2.0.9 para Net 4.0 o 3.5
  3. Visual Studio 2010 o SharpDevelop

Manos a la Obra.

1.- Primero Crearemos la base de datos en postgresql, podemos crear la base de datos con PgAdmin III (url).

O con cualquier editor de postgresql que encontremos uno bueno aunque es de pago pero tiene una versión express es Sql Manager 2010 for Postgresql (url).

Para el ejemplo usaremos la base de datos DbInscripcion la cual contendrá una tabla alumno y materia la cuales se relación con inscripción.

El diagrama de base de datos es el siguiente:



El script es:

create database DbInscripcion

create table Alumno

(

Ci varchar(13) primary key,

Nombre varchar(200),

Direccion varchar(200),

Edad integer

);

create table Materia

(

CodMateria varchar(13) primary key,

NombreMateria varchar(50),

Descripcion varchar(200)

);

create table Inscripcion

(

Ci varchar(13),

CodMateria varchar(13),

FechaInscripcion date,

Foreign Key(Ci)References Alumno(Ci),

Foreign Key(CodMateria)References Materia(CodMateria)

);

2.- Creamos un proyecto de Windows Form.

3.- Importaremos a Visual Studio la librería que Npgsql haciendo click derecho a la carpeta Referencias en el Solucion Explorer

Buscamos la librería  Npgsql.dll

4.-  Insertamos un botón al formulario Windows para probar la conexión a la base de datos. Generamos el evento clic del boton

5.- Agregamos las librerías al formulario con using.

6.- Ahora comenzamos a crearnos el Objeto NpgsqlConnection para verificar si estamos conectados a la base de datos.

Hacemos ejecutamos la aplicación y verificamos que realmente estamos conectados.

6.- Una vez verificado que la conexión está bien y la cadena de conexión es la correcta creamos el formulario para adicionar datos a la tabla Alumno.

7.- Ahora creamos los objetos necesarios para poder interactuar con la base de datos e insertamos los datos hacia la base de datos.

Una vez ejecutada la aplicación agrega los datos con éxito.

Y verificamos si realmente ha agregado a la base de datos nuestro nuevo alumno.

Observamos que usar una base de datos Postgresql en un proyecto de .Net es realmente fácil y sencillo y no presenta más problemas que los habituales para la conexión a una base de datos además los objetos para realizar la conexión y la interactividad con la base de datos son parecidos a los habituales de Ado.net.

Nota.

Si no muestra un cuadro de dialogo como este no hay problema solo presionamos cancelar y listo. Lo que pasa es que la librería busca el código fuente.

Espero que les sirva nos vemos en la proxima entrega de oracle.

Este es el manual en PDF:

ConexionesPostgresqlConNet

9 comentarios

  1. Los números de 2010 « Blog de Giovanni Callisaya said,

    […] Conexiones .Net Con Postgresql 8.4 mayo, 2010 3 […]

  2. Blanco said,

    Hola capo, basico pero entendible. Lo probaré. Otra consulta. Es que nunca he manejado el visual studio con pgsl, pero a la hora de programar, las sentecias corren igual que con el sql ?
    Estare al tanto .Saludos
    Iván

    • Giovanni Vladimir said,

      La sentecias de Sql genericas como Insert, Update , Select son las mismas en todos los gestores. pero Postgresql con Pgsql es mas complejo que Transac Sql, por lo menos a mi me resulto mas facil Transac que Pgsql.

  3. Dacia said,

    Gracias!! me sirvió de mucho =)

  4. jeffer said,

    estoy tratando de crearla con sharpdevelop y me da una exepcion de un archivo Npgsqlconection que no lo encuentra, y de hecho el directorio que es c/proyects donde lo busca no existe, no se a donde tenga que cambiar ese directorio :S

    • Giovanni Vladimir said,

      copia la dll de Ngpsql a la ruta donde esta en ejecutable.

  5. veyron said,

    Gracias por el aporte.

    con SQL tengo mi cadena

    CadenaConexion = ConfigurationManager.ConnectionStrings(“BancoLaboralConnectionString”).ConnectionString

    es igual con postgresql.

  6. Alexis said,

    es visual c#, verdad????

  7. Absalon said,

    Excelente sencillo y rapido me funciono al 100 gracias……..

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: