Delphi y Firebird. ¿Con ADO?

Por razones de trabajo he comenzado a usar Firebird, la base de datos open source basada en la versión liberada de Interbase. Una vez instalado Firebird lo primero que hice fué comenzar a evaluar la tecnología de conexión a usar.  Buscando en Google  me he encontrado que existen varios componentes tanto libres  y de pago que pueden usarse para conectarse a ese motor de base de datos. Ello no es raro  pues una de las maravillas de Delphi es que no estás atado a una tecnología de conexión.  Los componentes más usados por la comunidad son:

De esos componentes de inmediato descarté BDE y ZEOS, el primero por que es una tecnología ya muy vieja y que el mismo Embarcadero recomienda migrar, el segundo: ZEOS, alguna vez hace tiempo lo usé y sinceramente no me satisfizó aún a pesar del enorme y loable esfuerzo de sus creadores para ofrecer una tecnología robusta.  Ahora bien, yo estoy muy acostumbrado a usar ADO en mis aplicaciones que deben conectarse a una base de datos y al encontrar muy poca referencia sobre la dupla ADO-Firebird decidí visitar la página de firebird para buscar más información sobre ello llevándome la grata sorpresa de que cuenta con un proveedor ODBC oficial.  Aquí cabe mencionar que en lo personal prefiero los proveedores OLEDB  pero bueno, al ser este ODBC un conector oficial decidí que valía la pena probarlo así que me dispuse a descargar la versión para Windows del siguiente enlace: http://www.firebirdsql.org/en/odbc-driver/

La instalación no fue tan complicada, solo tuve que tomar dos decisiones: Seleccionar componentes y El directorio de accesos directos.:

 

instatall install1 install0

Una vez instalado el controlador ODBC debemos crear un DNS para conectarnos desde Delphi usando ADO. Para ello ejecutamos el administrador de ODBC que ese encuentra en las herramientas administrativas de Windows y seleccionaremos la pestaña DSN de Sistema, luego presionaremos el botón agregar para proceder a configurar un nuevo DSN y seleccionaremos firebird/Interbase(r) driver como puede verse en las siguientes imágenes:

odbcpostgre dsn_selfirebird

Al presionar el botón finalizar, nos aparece una nueva ventana donde tendremos que configurar nuestro Dsn para que pueda conectarse a la base de datos que nosotros elijamos. En mi caso como estoy realizando pruebas decidí conectarme a la base de datos demo como puede verse en la imagen. Una vez configurada presioné el botón “Probar” para verificar que mi configuración es correcta:

 

Odbc_Firebird Odbc_Firebird_test

* Importante Para que la conexión de nuestro DSN sea exitosa es necesario tener en el sistema local una copia de la librería de conexión GDS32.Dll que proporciona firebird.

Y bueno, una vez configurado mi DSN el siguiente paso en la prueba fué crear un pequeño programa en Delphi que me permitiera navegar por los registros, editarlos, agregar nuevos o eliminar. Así que como en entradas previas ejecutaremos Delphi, crearemos un nuevo proyecto VCL Forms Application y colocaremos los controles con sus respectivas propiedades como se muestra en la siguiente tabla:

AdoConnection1
Propiedad Valor
Loginprompt False
ConnectionString Provider=MSDASQL.1;Persist Security Info=False;Data Source=Sakila;
TAdoTable
Connection AdoConnection1
Name AdoTable1
TableName CUSTOMER
Active true
DataSource1
DataSet AdoTable1
DbGrid1
DataSource DataSource1
DbNavigator1
DataSource DataSource1

El diseño terminado debe quedar como en la siguiente imagen:

ConexionAdoFirebird

 

Una vez que ejecuté el programa y comencé probar la aplicación pude notar que la edición, navegación, borrado e inserción de registros es bastante rápido. Por lo que me parece que ADO con Odbc es una buena alternativa para quienes como yo estamos acostumbrados a esa tecnología de conexión y debemos usar Firebird. O para aquellos proyectos de legado que deben migrar de una base de datos anterior a Firebird.

Como siempre, la decisión dependerá de la situación específica de cada programador y será él el único que pueda decidir en base a comparaciones y análisis qué es mejor usar.

 

 

 

 

 

Sé el primero en comentar

Deja un comentario