Acceso a base de datos embebidas Firebird desde .net

Mayo 6, 2008

Hace tiempo, se me planteo la necesidad de implementar una base de datos independiente de un servidor y que el mantenimiento de dicha base de datos fuera lo más escalable posible, cuando programas desde y hacia tecnologías de Microsoft la respuesta es obvia: Access, pero Access tiente el serio inconveniente de que no acepta procedimientos almacenados, para mi esta característica es fundamental, ya que los procedimientos almacenados aumentan la potencia y escalabilidad de la base de datos de una forma considerable, entonces ¿Cómo lo hacemos?, ¿es posible implementar una base de datos que admita procedimientos almacenados y se pueda implementar con nuestra aplicación sin un servidor de base de datos?, la respuesta en sí, se llama Firebird. Firebird es una base de datos relacional (RDBMS) de código abierto y que además dispone de unas bibliotecas para .Net Framework.

Manos a la obra.

Lo primero es descargar desde aquí la versión embedded, que nos permitirá, como su propio nombre indica, “embeber” la base de datos y todos sus controladores en el directorio de nuestra aplicación.

Cuando descomprimamos el archivo veremos una serie de archivos y carpetas, los que he marcado en un recuadro son los que debemos copiar el directorio raíz de nuestra aplicación.

Después descargamos desde aquí el Firebird .NET Data Provider para poder acceder desde nuestro lenguaje .Net (C# y Vb.Net en nuestro caso), y lo instalamos.

Bien, ya tenemos el controlador para usar Firebird desde .Net y los archivos de Firebird pero… ¿Cómo empezamos a trabajar con ella? Pues instalando el servidor de Firebird para crear el archivo de datos que contendrá los procedimientos, tablas etc. ¿Pero… no hemos dicho que no necesitamos servidor de base de datos?, si así es, la aplicación en producción no lo necesitara, pero nosotros para trabajar con ella sí, así es que descargamos el servidor desde aquí y los instalamos.

Durante la instalación nos dejara elegir el tipo de servidor que queremos, Classic o Superserver, seleccionaremos “Superserver”.

Una vez instalado veremos que nos ha dejado entre otros este archivo: “C:\Archivos de programa\Firebird\Firebird_2_1\bin\isql.exe”, que nos servirá para crear y administrar los objetos de la base de datos en modo de línea comandos, pero que no cunda el pánico, hay herramientas que le proporcionan un entorno visual o IDE para trabajar más cómodamente, en nuestro caso usaremos FlameRobin, que es una herramienta multiplataforma para la administración de la base de datos de Firebird, que al menos, en el momento de escribir estas líneas es de uso libre y podemos descargar desde aquí

Una vez hecho todo, registramos el servidor en el entorno de FlameRobin y creamos nuestra base de datos. En el momento de crear la base de datos nos pedirá que le indiquemos donde guardar el archivo de base de datos, este archivo hay que copiarlo en el raíz de nuestra aplicación junto con los archivos de Firebird embebido que nos hemos descargado antes.

Ahora solo nos queda acceder a nuestra base de datos desde nuestra aplicación.

Agregamos a nuestra aplicación las referencias a las bibliotecas que contienen el proveedor de datos de Firebird.

Ahora nos ponemos manos a la obra con el código.

SQL

C#

VB

Y esto es todo, ya tenemos nuestra base de datos embebida y lista para agregarla al instalador de nuestra aplicación o distribuirla simplemente junto con los ejecutables y bibliotecas de la aplicación.


Entry Filed under: Bases de datos. Etiquetas: .

4 Comments Add your own

  • 1. Malevo  |  Mayo 8, 2008 at 12:52 pm

    ¿Podías explicar un poco mas detalle en el campo ServerType?

    Buen articulo, es un tema que abunda muy poca información y menos en español.

    Responder
  • 2. Lusberto777  |  Julio 7, 2009 at 2:14 pm

    Hola, me ha sido de ayuda tu artículo, pero quiciera pedirte, si pudieras poner algunos articulos más, relacionados con el mismo tema.
    Apenas comienzo a programar con firebird, y me sería de mucha ayuda!

    Si puedes contactarme por mail, te estaría muy agradecido!

    lusberto777@gmail.com

    Responder
  • 3. Ignacio Salazar  |  Septiembre 15, 2009 at 8:20 pm

    Saludos, estoy muy corto en cuanto a esto de los procedimientos almacenados…esta muy bueno tu ejemplo y las imagenes ayudan demaciado.

    Solo que te pediria si podrias realizar un segundo ejemplo donde documentaras el procedimiento almacenado al cual le envies parametros para ver como es que se los mandas y al igual que te regrese ó llene el datatable.

    De antemano te agadresco tu tiempo;
    te dejo mi mail ya que si me interesa mucho.
    jisalazar_jr@hotmail.com

    Responder
    • 4. acollado  |  Septiembre 16, 2009 at 11:32 am

      Hola Ignacio,
      Antes de nada, agrader tu interes por el articulo.
      El próximo post será sobre procedimientos almacenados en firebird

      Responder

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Bases de datos

Blogroll

Código

Archivos

Entradas recientes

Comentarios recientes

Precarga en ASP.NET … en Precarga en ASP.NET con AJAX…
Precarga en ASP.NET … en Precarga en ASP.NET con AJAX…
Precarga en ASP.NET … en Precarga en ASP.NET con AJAX…
Precarga en ASP.NET … en Precarga en ASP.NET con AJAX…
camilo en Mostrar progresos con Bac…

Etiquetas

Ajax ASP.NET asíncrono BackgroundWorker Componente Delegados Firebird Genéricos Precarga Progresos

RSS .Net Extremo