Entradas EtiquetadasFirebird
Acceso a base de datos embebidas Firebird desde .net
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.
4 comments Mayo 6, 2008