Migrar de BDE/dbExpress a FireDAC: merece la pena?

David Carrero
12 de Agosto del 2026

Para quien mantenga proyectos Delphi antiguos: ¿merece la pena migrar de BDE/dbExpress a FireDAC, o solo si vais a tocar esa parte del código de todas formas?

Contexto para quien no lo haya vivido: el BDE (Borland Database Engine) es la capa de acceso a datos original de Delphi, oficialmente en desuso desde hace muchos años aunque sigue funcionando en proyectos antiguos. dbExpress fue el intento de sustituirlo, más ligero pero con soporte limitado (sin caché de datos en cliente, entre otras carencias). FireDAC es la capa de acceso a datos actual de Embarcadero, con soporte activo, mejor rendimiento, y compatibilidad con muchos más motores de base de datos de serie.

Argumentos a favor de migrar: FireDAC recibe actualizaciones reales (parches de seguridad, compatibilidad con versiones nuevas de los motores de base de datos), mientras que BDE lleva descontinuado tanto tiempo que cualquier incompatibilidad nueva con un driver de base de datos moderno no se va a arreglar nunca.

Argumentos para no migrar todavía: si el proyecto funciona bien, migrar la capa de acceso a datos entera es un trabajo considerable (los componentes y el modelo de eventos no son idénticos), y si no hay un problema real que lo justifique (un bug de compatibilidad, necesidad de un motor de base de datos nuevo), el riesgo de introducir regresiones puede no compensar.

Mi criterio: si el proyecto sigue vivo y va a recibir mantenimiento regular durante años, migrar tarde o temprano compensa, mejor hacerlo de forma planificada que forzado por una incompatibilidad urgente el día que toque actualizar de sistema operativo o de motor de base de datos. Si el proyecto está prácticamente congelado (sin cambios salvo algún parche puntual), no tiene sentido tocar algo que funciona.

¿Alguien ha hecho la migración de verdad? ¿Cuánto dolor de cabeza dio en la práctica?

David Carrero


Ivan
12 de Agosto del 2026

Sí, casi siempre merece la pena, y no es solo una cuestión de preferencia técnica: BDE lleva años oficialmente descontinuado por Borland/Embarcadero, sin ningún desarrollo ni corrección de errores nuevos, así que cualquier problema de compatibilidad con versiones modernas de Windows o de tus motores de base de datos que aparezca a partir de ahora se queda sin solución oficial.

Ventajas concretas de FireDAC frente a BDE/dbExpress una vez migras:

1. Drivers nativos de verdad para SQL Server, PostgreSQL, MySQL, Oracle, no el enfoque mucho más genérico basado en ODBC que arrastraba BDE, lo que se nota tanto en rendimiento como en soporte de características específicas de cada motor.

2. Array DML: para inserciones/actualizaciones masivas, FireDAC puede agrupar varias operaciones en un solo viaje de red al servidor, algo que con BDE tenías que simular a mano o simplemente asumir el coste de ida y vuelta por cada fila.

3. Datasets en memoria (TFDMemTable) mucho más potentes que el equivalente de dbExpress, útiles para trabajar con datos desconectados sin depender de una conexión activa todo el tiempo.

La parte que más trabajo suele dar en la migración no es tanto el cambio de componentes en sí (el mapeo es bastante directo la mayoría de las veces), sino revisar todo el código que dependía de comportamientos específicos de BDE que no son exactamente iguales en FireDAC (formato de fechas, manejo de NULL, algún tipo de dato concreto), así que conviene tener buena cobertura de pruebas antes de lanzarse.

Ivan