Del tema de la revista a la pràctica del projecte
Pàgines de serveis i tècniques pertinents per a l'article
Video-Botschaft
Substituir Borland BDE per FireDAC: matriu d'avaluació per a una migració segura
Kurz erklärt, warum die BDE im Betrieb zum Risiko wird und wie FireDAC schrittweise eingeführt werden kann, ohne einen Big-Bang-Relaunch zu erzwingen.
Video mit KI erstellt
Transkript anzeigen
Hallo, ich bin Mark. Die meisten BDE-Anwendungen scheitern nicht am Code, sondern am Betrieb.
Im Beitrag „Borland BDE durch FireDAC ersetzen: Leitfaden für eine sichere Delphi-Modernisierung ohne Big Bang“ geht es genau darum. Die BDE wirkt oft stabil.
Aber sie passt schlecht zu gehärteten Windows-Setups, standardisiertem Deployment und 64‑Bit. Genau dort entstehen Audit- und Support-Risiken.
FireDAC ist der moderne Datenzugriff in Delphi. Er bringt konsistente Treiber, sauberes Logging für Fehlersuche und funktioniert in 32 und 64 Bit.
Wichtig ist die Perspektive: Nicht „Komponenten tauschen“, sondern Schritt für Schritt vorgehen. Erst eine stabile Verbindungsschicht, dann ein Pilotmodul, dann die Fläche.
So bleibt die Fachlogik geschützt. Wenn Sie dazu Fragen aus Ihrem Betrieb haben, lassen Sie uns das in Ruhe einordnen.
Wenn du dazu Fragen hast oder tiefer einsteigen willst, melde dich gern bei uns.
Dilluns al matí, 08:15. Una actualització Windows acabada d’implantar, una nova protecció d’endpoint, a més d’un paquet «petit» de distribució de programari — i de sobte una ubicació queda aturada. Una aplicació crítica per al negoci Delphi s’inicia, però en el primer accés a dades apareix «Alias no trobat» o «Camí de xarxa invàlid». Al historial del ticket surten termes que en molts equips de TI fa temps que no tenen un lloc fix: BDE-Administrador, NetDir, fitxers de configuració locals que es troben „en algun lloc“ i que „d’alguna manera“ semblen arbitràtics.
Qui vulgui substituir Borland BDE per una substitució de BDE amb connexió nativa, normalment no té el luxe de «modernitzar-nos per diversió», sinó un veritable conflicte d’objectius. Objectiu 1: estabilitat màxima en l’operativa diària, sense sorpreses en processos de comptabilització, informes o interfícies. Objectiu 2: treure l’aplicació de l’excepció legacy — allunyar-se d’una configuració de client fràgil cap a un accés a dades que sigui coherent amb 64‑Bit, Unicode, línies base de seguretat i una estratègia neta de base de dades. Aquesta cartografia d’avaluació situa benefici, esforç, riscos i límits i mostra per a qui cada decisió és plausible.
Conflicte d’objectius com a punt de partida: mantenir l’estabilitat o invertir en el futur?
Objectiu A: Estabilitat, perquè el procés en depèn
Moltes aplicacions basades en BDE estan operativament estabilitzades. L’equip de suport en coneix les peculiaritats, les àrees de negoci s’han acostumat a determinats fluxos de pantalles i llistats, i fins i tot les arestes irregulars estan previstes. Precisament per això un canvi en l’accés a dades és arriscat: els errors sovint no es fan visibles com un crash, sinó com una desviació subtil — una ordenació diferent, un arrodoniment diferent, un tractament alternatiu dels valors NULL, un bloqueig inesperadament llarg. Per a la direcció d’IT i el servei operatiu això significa: la migració només és justificable si la igualtat de resultats i la possibilitat de rollback estan assegurades de manera realista.
Objectiu B: Viabilitat futura, perquè l’operació i la plataforma no es poden quedar aturades
Al mateix temps, la Borland Database Engine (BDE) no és «només antiga», sinó que està oficialment descontinuada (deprecated). Embarcadero indica explícitament que la BDE no serà desenvolupada més i, per exemple, mai no rebrà suport Unicode; per a aplicacions existents es recomana una migració a BDE-Ablosung mit nativer Anbindung.[Quelle] Conseqüència pràctica: com més estrènyer els clients, distribuir programari, restringir drets i unificar plataformes, menys encaixa un accés a dades que depèn de paràmetres globals històrics i d’un món de controladors obsolet. Això afecta no només l’«estètica IT», sinó també el risc d’incidents i la planificabilitat.
Què canvia realment quan substituïu Borland BDE per FireDAC
En molts plans de projecte es diu, en essència: TDatabase es converteix en TFDConnection, TQuery es converteix en TFDQuery, TTable es converteix en TFDTable. Aquesta és la part visible. La part rellevant està per sota: BDE ha arrossegat durant anys supòsits implícits (conversions, ordenacions per defecte, efectes secundaris de transacció, ubicacions de configuració). FireDAC acostuma a ser més estricte, més transparent i més a prop de la base de dades concreta. Això millora la mantenibilitat i la diagnosi — però obliga a documentar i provar les suposicions.
Quatre diferències que afecten el dia a dia de l’operació i de l’àrea funcional
- Configuració i desplegament: Les configuracions de BDE treballen històricament amb configuracions globals d’Alias/NetDir i fitxers que poden variar per màquina o per perfil. FireDAC es pot configurar a nivell de connexió i controlar millor per entorn, però segons la base de dades requereix les llibreries client adequades i una estratègia clara d’actualització i distribució.
- Tipus de dades, paràmetres, conversió implícita: FireDAC sovint és més precís. SQL que funcionava „per casualitat“ (data com a string, nombre com a text) surt més a la superfície. Això és positiu — sempre que detecteu aquests errors en proves i no al tancament mensual.
- Unicode i Collation (ordenació/regles de jocs de caràcters): Si l’aplicació utilitza històricament lògica ANSI, una modernització pot fer visibles problemes de caràcters i comparació: ordenació, majúscules/minúscules, dièresis, formats d’exportació. És resoluble, però no automàticament „idèntic“.
- Transaccions i comportament de bloqueig: Molts patrons legacy es basen en efectes col·laterals impulsats pels datasets. FireDAC ofereix un control de transaccions net — però exigeix que definiu on comencen i on acaben les transaccions.
Mapa d’avaluació: benefici, esforç, riscos i límits
| Dimensió | Amb BDE | Migrar a FireDAC |
|---|---|---|
| Risc operatiu | Conegut, però lligat a configuracions legacy; més difícil d’adaptar a baselines modernes. | Risc de migració a curt termini, a llarg termini més estandarditzable (configuració, registre, estratègia de controladors). |
| Unicode/Internationalisierung | Continua sent un coll d’ampolla estructural, perquè BDE no obté suport Unicode. | S’adapta a versions modernes de Delphi i a les bases de dades; redueix a llarg termini els tiquets per caràcters especials. |
| Plataforma (32/64‑Bit) | Pot bloquejar o complicar la modernització client/servidor futura. | 64 bits és l’estat objectiu habitual; menys vies especials en el rollout i l’operació. |
| Capacitat de diagnosi | Els patrons d’error sovint sense dades SQL o de context; més difícil d’instrumentar. | Tracing/Monitoring es pot activar de manera més dirigida; el suport rep senyals més reproduïbles. |
| Igualtat funcional dels resultats | Alta, perquè el comportament està ‚comptabilitzat‘. | Posat en perill per diferències subtils (NULL, ordenació, conversió de dates/nombres, concurrència) – requereix proves de comparació. |
| Projectes posteriors (serveis, interfícies) | Sovint difícil de encapsular netament; risc que cada servei ‚inventi‘ el seu propi accés a dades. | Millor base per a REST-Services, tasques en segon pla, transaccions clares – si centralitzeu l’accés. |
| Esforç del projecte | A curt termini baix, a llarg termini costos especials i dependències creixents. | Una sola vegada més elevada (restructuració + proves + desplegament), a canvi de menys càrrega operativa de codi llegat. |
Quan la migració té més sentit
Quan el desplegament i l’endureiment de la seguretat xoquen regularment
Com més estandarditzada sigui la vostra arquitectura client (distribució de programari, permisos restringits, xarxes segmentades, protecció d’endpoint), més destacaran totes aquelles coses que s’han configurat ‚per màquina‘ o ‚per perfil d’usuari‘ i que en cas d’error només es poden reparar reproduint manualment. FireDAC no us obliga automàticament a un bon model de configuració, però s’adapta millor a un enfocament on els paràmetres de connexió es defineixen, versionen i documenten per entorn.
Quan hi ha prevista una migració a 64 bits o es renova maquinari
Moltes empreses no fan el canvi per la versió d’una IDE, sinó perquè es renoven els servidors de terminal, arriben nous estats de sistema operatiu o s’endureixen les polítiques de seguretat. Llavors l’accés a les dades es converteix en un punt de dependència crític. Qui el modernitza desacobla projectes posteriors: el proper projecte de plataforma o infraestructura no ha de resoldre al mateix temps el problema d’accés a dades.
Quan la gestió de dades ha de madurar
En escenaris basats en fitxers (clàssic Paradox/dBase) el risc més gran rara vegada és la IU. Són el bloqueig, la realitat de les còpies de seguretat, la integritat de dades, els permisos i l’operació multiusuari. FireDAC està pensat principalment per a bases de dades SQL i models de transacció clars. Si ja es planteja una estratègia de base de dades basada en servidor, la BDE-Ablösung sovint és el moment per planificar ambdues coses conjuntament – amb totes les conseqüències per a l’operació (còpies de seguretat, monitoratge, finestres de manteniment, concepte de rols i permisos).
Tres vies de migració – amb perfils de risc molt diferents
Camí 1: Mecànicament „recompilar“ (només com a objectiu intermig)
Embarcadero descriu al Upgrade/Migration Center una migració típica de FireDAC com un procés per etapes i també esmenta „reFind“ com a eina que ajuda en la part mecànica: substituir components, actualitzar clàusules uses, fer canvis fonamentals per poder compilar de nou.[Quelle] Com a estat intermig això és útil. Com a conclusió és insuficient, perquè compilar no diu res sobre la igualtat funcional, el rendiment sota càrrega ni la concurrència.
Camí 2: Encapsular l’accés a dades, després canviar (sovint el millor compromís)
En lloc de refer cada formulari directament, concentreu l’accés a les dades en pocs punts responsables: creació de connexions, tractament d’errors centralitzat, registre i rastreig, regles vinculants de paràmetres i transaccions. Després migreu per mòduls. Això redueix la superfície de migració i fa que l’acceptació i l’operació siguin més planificables, perquè el comportament es pot observar i corregir en un sol lloc.
Pfad 3: FireDAC + canvi de base de dades (alt benefici, però més exigències de governança)
Si ja cal fer el salt de basat en fitxers a basat en servidor, pot ser eficient combinar ambdues coses. El guany és gran (transaccions, permisos, monitorització, processos d’operació millors). El preu és que haureu de prendre decisions més enllà de la «tècnica»: migració de dades, disseny d’esquema, cutover, funcionament en paral·lel, estratègia de reversió. Sense un format clar d’acceptació i acords d’operació, aquest camí aviat es converteix en un projecte interminable.
Un procediment pràctic en 7 passos (sense Big Bang)
- Inventari com a mapa de riscos: Quines fonts de dades, quins tipus d’accés (amb predomini de TTable vs. SQL), quins informes crítics, quins processaments en lot, quines interfícies d’importació/exportació depenen del comportament del conjunt de dades?
- Decidir el mode objectiu: „FireDAC a la mateixa base de dades“ o „FireDAC més modernització de la base de dades“. Això és una decisió de portafoli i d’operacions, no una qüestió exclusiva de desenvolupadors.
- Definir la base: Configuració central de connexió, timeouts, tractament d’errors, rastreig/registre commutable opcionalment. Objectiu: reproduïble en Dev/Test/Prod.
- Escollir el procés pilot: No el formulari més petit, sinó un procés funcionalment delimitat amb lectura i escriptura (transaccions, bloquejos, validació) i criteris d’acceptació clars.
- Demostrar la igualtat de resultats: Comparació de resultsets, informes i indicadors clau sobre dades de prova definides. Focalització: NULL, lògica de dates, arrodoniments, conjunt de caràcters, ordenació.
- Migració en ones: Per mòduls/casos d’ús, amb una anella de llançament (grup pilot, finestra de suport, paquet de rollback, comunicació). El funcionament en paral·lel és permès, però tècnicament netament separat.
- Desmantellar BDE en el desplegament: Eliminar instal·ladors, documentació i RESTes de configuració. Mentre BDE continuï instal·lat „per si de cas“, continuarà existint una part del risc operatiu.
Zones de risc típiques – i com gestionar-les administrativament
1) Tipus de dades, NULL i conversions „històriques“
Moltes aplicacions heredades Delphi inclouen casos límit que fa molt de temps que ningú ha tocat: cadenes buides en lloc de NULL, nombres en camps de text, data com a cadena, „0“ com a False. FireDAC no fa que aquests punts fallin automàticament, però els fa més visibles. Per a operacions i l’àrea de negoci això és un avantatge, perquè els errors es tornen més reproductibles — si definiu regles: Quines columnes poden ser NULL? Quins valors per defecte s’apliquen des del punt de vista funcional? Com es guarden els booleans? Quina resolució temporal és rellevant (data vs. timestamp)?
2) Transaccions, bloquejos i concurrència
En estructures antigues BDE les transaccions sovint es generen „de passada“: dataset obert, l’usuari fa clic, en algun moment es fa el post. En bases de dades basades en servidor això pot portar a transaccions llargues i bloquejos innecessaris. En una migració FireDAC val la pena una idea senzilla: les transaccions s’han d’ajustar al cas d’ús, no a la UI. Això pot significar que les operacions de guardat s’agrupin, les validacions es facin abans i el tractament d’errors es centralitzi.
3) Dialecte SQL, paraules reservades, ordenació determinista
Una part del treball no és „FireDAC“, sinó la higiene SQL. Històricament BDE ha tolerat aspectes com alias ambigus, joins implícits i ordenacions no deterministes. FireDAC no és l’enemic, sinó el reforç: els problemes es fan visibles. La solució robusta gairebé sempre consisteix a fer l’SQL explícit. Això també és útil per a administradors, perquè les consultes es poden analitzar millor (necessitats d’índexs, plans d’execució, proves de càrrega).
4) Informes, exports, avaluacions rellevants per a auditoria
Si els informes per al tancament de mes, la facturació o per a avaluacions rellevants per a auditoria s’utilitzen, les desviacions „silencioses“ són el risc real. Tracteu, doncs, els informes crítics com a components de producte propis: dades de prova definides, sumes/nombre de files esperats, lògica de filtratge documentada, aprovació per l’àrea de negoci. Allà on sigui possible, estabilitzeu la base de dades (p. ex. mitjançant consultes o Views clarament definides) en lloc d’acceptar cadenes de filtres a la UI com a veritat.
Conseqüències arquitectòniques: què permet FireDAC — i què no sorgeix automàticament
Una bona base per a serveis, jobs i interfícies
Moltes empreses amplien sistemes d’escriptori amb serveis REST, processament en segon pla o portals. Un accés a dades modern s’hi adapta si el cicle de vida de les connexions, el tractament d’errors i les transaccions estan ben encapsulats. Sense aquesta encapsulació només s’obté „un nou controlador en estructura antiga“ — i cada projecte posterior torna a crear les seves pròpies regles.
FireDAC no substitueix el desacoblament de la UI i la lògica de negoci
Si avui els formularis construeixen SQL, les regles de negoci estan en event handlers i els estats globals dominen, això romandrà així després de la migració, com a mínim inicialment. FireDAC no és una mesura arquitectònica per si sola, però és una bona ocasió per implementar una estructura mínima: gestió centralitzada de connexions, poques classes d’accés per cada mòdul funcional, regles definides d’errors i de transacció. Sovint això ja és suficient per fer el manteniment i l’operació notablement més previsibles.
Limitacions i casos especials que hauria de tractar obertament des del principi
Sistemes fortament guiats per TTable/Paradox
Si l’existent és fortament basat en fitxers, la pregunta real no és «BDE o FireDAC», sinó «quin model d’emmagatzematge de dades». FireDAC no està pensat per conservar un món basat en fitxers tan inalterat com sigui possible. Qui hagi de modernitzar dades Paradox hauria de planificar amb cura l’esforç per a la migració de dades, el disseny d’esquema, els drets, les proves de backup/RESTore i el cutover – inclòs el funcionament en paral·lel i la conciliació de dades, si un tall brusc no és possible des del punt de vista funcional.
El funcionament en paral·lel és una eina, no un estat final
Sí, BDE i FireDAC poden funcionar en paral·lel. El preu és la complexitat: configuració doble, patrons d’error dobles, més dependències. Per això, fixeu aviat una data final per al desmantellament de BDE i definiu la línia de separació (mòduls, casos d’ús, capes tècniques). Anar a mig camí sense una visió objectiu sol ser, en explotació, més car que una reestructuració decidida per fases.
Quines decisions haurien de fixar aviat la direcció de TI i l’operació
- Estratègia d’entorn: Com gestioneu les configuracions Dev/Test/Prod? Qui pot canviar els paràmetres de connexió? Com tracteu els secrets?
- Política de controladors i actualitzacions: Com es versionen i distribueixen les biblioteques client? Hi ha release rings i una opció de retrocés?
- Observabilitat: Quins logs necessita l’operació en un incident? Quins contextos SQL es poden registrar per motius de protecció de dades o requisits de seguretat?
- Format d’acceptació: Quins processos clau han d’estar coberts com a proves de regressió (llistes, assentaments, exports, informes)?
- Pla de rollback: Quina és l’estratègia de retrocés per cada onada – tècnica (paquets), organitzativa (comunicació) i de dades (sense pèrdua de dades)?
La palanca que decideix l’èxit: confiança mitjançant comprovació
La majoria de migracions no fracassen per la „connexió“, sinó per la confiança. La confiança sorgeix quan podeu demostrar que els processos crítics es mantenen idèntics des del punt de vista funcional – o quan les desviacions s’han decidit conscientment i s’han comunicat de manera clara. Precisament aquí rau l’oportunitat del canvi: obliga a regles explícites (ordenació, tipus de dades, transaccions) i crea així una base que d’aquí a dos anys encara serà mantenible i operable. FireDAC aleshores no és l’objectiu, sinó l’instrument per portar l’explotació i el desenvolupament de nou a un estat normal planificable.
Si voleu preparar la substitució de manera estructurada (mapa de riscos, pilot, pla de proves i desplegament), podeu posar en marxa el projecte aquí de manera ordenada: parleu del projecte o de la iniciativa de modernització amb Net-Base.
Fonts i informació addicional
Les afirmacions clau tècniques s’han posat en context editorialment a partir de les següents fonts externes.
- Connecting to Databases – Overview – RAD Studio (docwiki.embarcadero.com)
Embarcadero considera BDE descontinuat, fa referència, entre altres, a la manca de suport Unicode i recomana la migració a FireDAC. - Moving to FireDAC | Migration Center | site (upgrade-center.embarcadero.com)
Embarcadero descriu una migració típica de FireDAC i cita reFind com a suport per a la part mecànica (components/uses/modificacions bàsiques) així com proves per a Performance/Concurrency. - FAQ Programari empresarial | Net-Base (net-base-software-gmbh.de)
Contextualització que la substitució de BDE a la pràctica sovint va més enllà del pur reemplaçament de components (SQL/tipus de dades/transaccions com a punts de comprovació).
Per a aquest tema també són importants Delphi Modernització i la migració FireDAC. La publicació contextualitza aquests aspectes de manera clara i mostra què és rellevant en l’operativa diària.
Parlar sobre un projecte o un pla de modernització amb Net-Base.
Pas següent
Quan d'un tema se'ndevé un projecte real, s'han de considerar aviat i de manera conjunta l'arquitectura, els actius existents i l'operació.
No només donem suport en qüestions puntuals, sinó també quan, a partir de fragments de codi font, temes de sistemes heredats o idees de portal, ha de sorgir un projecte empresarial sòlid.
- L'estat actual, la visió objectiu i els riscos tècnics s'avaluen conjuntament.
- REST, accés a dades, portals i desplegament no es posposaran com a efectes retardats.
- Veu aviat quin camí és viable des del punt de vista econòmic i operatiu.