Net-Base Magasin

11.04.2026

Ersätt Borland BDE med FireDAC: Avvägningskarta för en säker migration

När Delphi-baserad befintlig programvara är beroende av Borland BDE blir modernisering snabbt en driftsfråga: 64‑bit, driftsättning, Unicode, säkerhet och databasstrategi. Denna avvägningskarta visar hur du ersätter Borland BDE med FireDAC – stegvis, testbart och med tydlig...

11.04.2026

Från magasinets tema till projektpraxis

Passande tjänste- och tekniksidor för inlägget

Video-Botschaft

Ersätt Borland BDE med FireDAC: Avvägningskarta för en säker migration

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.

Måndagsmorgon, 08:15. En nyutrullad Windows-uppdatering, ett nytt endpoint-skydd, dessutom ett „litet“ paket från programvarudistributionen – och plötsligt står en anläggning still. En affärskritisk Delphi-applikation startar visserligen, men vid första dataåtkomst får man „Alias hittades inte“ eller „Nätverkssökväg ogiltig“. I ärendeflödet dyker termer upp som i många IT-team redan inte längre har någon given plats: BDE-administratör, NetDir, lokala konfigurationsfiler som ligger „någonstans“ och „på något sätt“.

Den som vill ersätta Borland BDE genom BDE-ersättning med inbyggd anslutning har vanligen inte lyxproblemet „vi moderniserar för nöjes skull“, utan en verklig målkonflikt. Mål 1: maximal stabilitet i daglig drift, inga överraskningar i bokföringskörningar, rapporter eller gränssnitt. Mål 2: att ta applikationen ur legacy-undantaget – bort från bräcklig klientkonfiguration, mot en dataåtkomst som passar 64‑Bit, Unicode, säkerhetsbaselines och en ren databasstrategi. Denna avvägningskarta placerar nytta, insats, risker och begränsningar i perspektiv och visar för vem vilket beslut är rimligt.

Målkonflikt som utgångspunkt: behålla stabiliteten eller investera i framtiden?

Mål A: Stabilitet, eftersom processen är beroende av den

Många BDE-baserade applikationer är driftmässigt stabila. Support känner till egenheterna, verksamhetsområden är vana vid vissa maskinflöden och listor, och även skavanker är inplanerade. Just därför är en ändring av dataåtkomsten riskfylld: fel visar sig ofta inte som krasch utan som tysta avvikelser – en annan sortering, en annan avrundning, en annan hantering av NULL-värden, ett oväntat långt lock. För IT-ledning och drift innebär det: migration är bara försvarbar om resultatekvivalens och rollback realistiskt kan säkras.

Mål B: Framtidssäkerhet, eftersom drift och plattform inte står stilla

Samtidigt är Borland Database Engine (BDE) inte „bara gammal“ utan officiellt avvecklad (deprecated). Embarcadero påpekar uttryckligen att BDE inte längre vidareutvecklas och till exempel aldrig kommer att få Unicode-stöd; för befintliga applikationer rekommenderas en migration till BDE-Ablosung mit nativer Anbindung.[Källa] Praktisk följd: Ju mer konsekvent ni hårdar klienter, distribuerar programvara, begränsar rättigheter och standardiserar plattformar, desto mindre passar en dataåtkomst som beror på historiska globala inställningar och en föråldrad drivrutinsvärld. Det påverkar inte bara „IT-estetik“ utan också incidentrisk och planbarhet.

Vad som verkligen ändras när ni ersätter Borland BDE med FireDAC

I många projektplaner står i princip: TDatabase blir TFDConnection, TQuery blir TFDQuery, TTable blir TFDTable. Det är den synliga delen. Den relevanta delen ligger under ytan: BDE har över åren burit med sig implicita antaganden (konverteringar, standardsorteringar, transaktionsbiverkningar, konfigurationsplatser). FireDAC är i regel strängare, mer transparent och närmare den underliggande databasen. Det förbättrar underhållbarhet och diagnostik – men tvingar er att skriva ner antaganden och testa dem.

Fyra skillnader som märks i drift och inom verksamheten

  • Konfiguration och distribution: BDE-installationer arbetar historiskt med globala alias-/NetDir-konfigurationer och filer som kan variera per maskin eller per profil. FireDAC kan konfigureras nära anslutningen och styras bättre per miljö, men kräver beroende på databas lämpliga klientbibliotek och en tydlig uppdaterings- och distributionsstrategi.
  • Datatyper, parametrar, implicit konvertering: FireDAC är ofta mer precis. SQL som „slumpmässigt“ fungerat (datum som sträng, tal som text) blir mer synligt. Det är bra – förutsatt att ni hittar felen i testerna, inte i månadsbokslutet.
  • Unicode och collation (sortering/teckenuppsättningsregler): Om applikationen historiskt använder ANSI-logik kan en modernisering göra tecken- och jämförelseproblem synliga: sortering, versaler/gemener, diakritiska tecken, exportformat. Det är åtgärdbart, men inte automatiskt „identiskt“.
  • Transaktioner och låsning: Många legacy-mönster förlitar sig på datasetdrivna bieffekter. FireDAC erbjuder ren transaktionsstyrning – men kräver att ni bestämmer var transaktioner startar och slutar.

Avvägningskarta: nytta, insats, risker och begränsningar

Dimension Fortsätta med BDE Migrera till FireDAC
Driftrisiko Känt, men bundet till legacy-konfigurationer; svårare att förena med moderna baselines. Kortfristigt migrationsrisk, långsiktigt bättre standardiserbart (konfiguration, loggning, drivrutinstrategi).
Unicode/internationalisering Förblir en strukturell flaskhals eftersom BDE inte får Unicode-stöd. Passar moderna Delphi-versioner och databaser; minskar på sikt „specialtecken“-ärenden.
Plattform (32/64‑bit) Kan blockera eller komplicera framtida klient-/server-modernisering. 64‑bit är normal målsättning; färre speciallösningar vid rollout och drift.
Diagnostikmöjligheter Felbilder ofta utan SQL-/kontextdata; svårare att instrumentera. Tracing/övervakning kan aktiveras mer riktat; supporten får mer reproducerbara signaler.
Funktionell resultatlikhet Hög, eftersom beteendet är inräknat. Hotas av subtila skillnader (NULL, sortering, datum-/sifferkonvertering, samtidighet) – kräver jämförelsetester.
Följdprojekt (tjänster, gränssnitt) Ofta svårt att kapsla in; risk att varje tjänst uppfinner sin egen dataåtkomst. Bättre grund för REST-tjänster, bakgrundsjobb, tydliga transaktioner – om ni centraliserar åtkomsten.
Projektinsats Lågt på kort sikt, på lång sikt ökande särskilda kostnader och beroenden. Engångshögt (ombyggnad + tester + rollout), men mindre driftbörda från ärvda system.

När migrationen är särskilt motiverad

När driftsättning och säkerhetshärdning regelbundet kolliderar

Ju mer standardiserat ert klientlandskap är (programvarudistribution, begränsade rättigheter, segmenterade nätverk, endpoint-skydd), desto mer syns allt som konfigureras „per maskin“ eller „per användarprofil“ och som vid fel bara kan åtgärdas genom manuell reproduktion. FireDAC tvingar er inte automatiskt till en bra konfigurationsmodell, men det passar bättre för ett angreppssätt där anslutningsparametrar definieras, versionshanteras och dokumenteras per miljö.

När 64‑bit-planering eller ny hårdvara är aktuell

Många företag byter inte på grund av en IDE-version, utan för att terminalservrar förnyas, nya operativsystemnivåer införs eller säkerhetspolicys skärps. Då blir dataåtkomst en hård beroendepunkt. Den som moderniserar den lösgör följdprojekt: nästa plattforms- eller infrastrukturprojekt behöver inte samtidigt lösa dataåtkomstproblemet.

När datalagringen ändå ska bli mogen

I filbaserade scenarier (klassiskt Paradox/dBase) är den största risken sällan UI:n. Det handlar om låsning, backup-realitet, dataintegritet, rättigheter och fleranvändardrift. FireDAC är främst avsedd för SQL-databaser och tydliga transaktionsmodeller. Om en serverbaserad databasstrategi ändå är aktuell är den BDE-utfasning ofta tidpunkten att planera båda tillsammans – med alla konsekvenser för drift (backups, övervakning, underhållsfönster, roll- och behörighetskoncept).

Tre migrationsspår – med mycket olika riskprofil

Spår 1: Mekaniskt „kompilera igen“ (endast som delmål)

Embarcadero beskriver i Upgrade/Migration Center en typisk FireDAC-migration som en flerstegsprocess och nämner också „reFind“ som ett verktyg som hjälper med den mekaniska delen: ersätta komponenter, uppdatera uses-klausuler, genomföra grundläggande ändringar för att kunna kompilera igen.[Quelle] Som mellantillstånd är det användbart. Som slutpunkt är det otillräckligt, eftersom kompilering säger inget om funktionell likhet, prestanda under belastning eller samtidighet.

Spår 2: Kapsla in dataåtkomsten, sedan byta (oftast det bästa kompromisset)

I stället för att bygga om varje formulär direkt, samla dataåtkomsten till ett fåtal ansvariga ställen: skapande av Connection, central felhantering, loggning/tracing, bindande parameter- och transaktionsregler. Därefter migrerar ni modulvis. Det minskar migrationsytan och gör godkännande och drift mer planerat, eftersom beteendet kan observeras och korrigeras på ett enda ställe.

Väg 3: FireDAC + databasbyte (stor nytta, men högre krav på styrning)

Om ni ändå står inför ett hopp från filbaserat till serverbaserat kan det vara effektivt att koppla båda. Vinsten är stor (transaktioner, behörigheter, monitoring, bättre driftprocesser). Priset är att ni måste besluta om mer än „teknik“: datamigrering, schema-design, Cutover, parallellkörning, återfallsstrategi. Utan ett tydligt godkännandeformat och driftsavtal blir denna väg snabbt ett långprojekt.

Ett praktiskt genomförbart arbetsflöde i 7 steg (utan Big Bang)

  1. Inventering som riskkarta: Vilka datakällor, vilka åtkomstsätt (TTable-tunga vs. SQL), vilka kritiska rapporter, vilka batchkörningar, vilka import-/exportgränssnitt är beroende av datasetets beteende?
  2. Bestäm målmodus: „FireDAC på samma databas“ eller „FireDAC plus databasmodernisering“. Det är ett portfölj- och driftsbeslut, inte en ren utvecklarfråga.
  3. Definiera Foundation: Central Connection-konfiguration, timeouts, felhantering, valbart tracing/loggning. Mål: reproducerbart i Dev/Test/Prod.
  4. Välj pilotprocess: Inte det minsta formuläret, utan en funktionellt tydligt avgränsad process med läsning och skrivning (transaktioner, låsning, validering) och tydliga godkriterier.
  5. Bevisa resultatlikhet: Jämförelse av resultsets, rapporter och kärnnyckeltal mot definierade testdata. Fokus: NULL, datumlogik, avrundningar, teckenuppsättning, sortering.
  6. Migration i vågor: Efter moduler/use cases, med release-ring (pilotgrupp, supportfönster, rollback-paket, kommunikation). Parallellkörning är tillåten, men tekniskt tydligt separerad.
  7. Avveckla BDE i deployment: Ta bort installationsprogram, dokumentation och konfigurationsRESTer. Så länge BDE „för alla eventualiteters skull“ är förinstallerat kvarstår en del av driftsrisken.

Typiska riskzoner – och hur man administrativt får dem under kontroll

1) Datatyper, NULL och „historiska“ konverteringar

Många befintliga Delphi-applikationer innehåller gränsfall som länge ingen rört: tomma strängar istället för NULL, siffror i textfält, datum som sträng, „0“ som False. FireDAC gör sådana ställen inte automatiskt trasiga, men mer synliga. För drift och verksamhetsansvariga är det en fördel, eftersom fel blir mer reproducerbara – om ni fastställer regler: Vilka kolumner får vara NULL? Vilka standardvärden gäller ur ett verksamhetsperspektiv? Hur lagras boolean-värden? Vilken tidsupplösning är relevant (datum vs. timestamp)?

2) Transaktioner, lås och samtidighet

I BDE-gammal struktur uppstår transaktioner ofta „vid sidan om“: dataset öppnat, användaren klickar, någon gång postas. I serverbaserade databaser kan det leda till långa transaktioner och onödiga lås. Vid en FireDAC-migration lönar det sig att ha en enkel princip: transaktioner hör hemma runt användningsfallet, inte runt användargränssnittet. Det kan innebära att skrivoperationer grupperas, valideringar förflyttas före och felhantering centraliseras.

3) SQL-dialekt, reserverade ord, deterministisk sortering

En del av arbetet är inte „FireDAC“, utan SQL-hygien. BDE har historiskt tolererat en del: oklara aliasnamn, implicita joins, icke-deterministisk sortering. FireDAC är inte fienden här utan förstärkaren: problem blir synliga. Den robusta lösningen är nästan alltid att göra SQL explicit. Det hjälper också administratörer eftersom frågor därigenom blir enklare att analysera (indexbehov, exekveringsplaner, belastningstester).

4) Rapportering, exporter, revisionsrelevanta analyser

När rapporter används för månadsbokslut, fakturering eller revisionsrelevanta analyser är „tysta“ avvikelser den verkliga risken. Behandla därför kritiska rapporter som egna produktkomponenter: definierade testdata, förväntade summor/radantal, dokumenterad filterlogik, godkännande från verksamheten. Där det är möjligt, stabilisera databasen (t.ex. via tydligt definierade queries eller views) istället för att acceptera UI-baserade filterkedjor som sanning.

Arkitekturkonsekvenser: Vad FireDAC möjliggör – och vad som inte automatiskt uppstår

En bra grund för tjänster, jobb och gränssnitt

Många företag utökar skrivbordssystem med REST-tjänster, bakgrundsprocesser eller portaler. En modern dataåtkomst passar in så länge anslutningslivscykel, felhantering och transaktioner är väl kapslade. Utan denna kapsling uppstår bara „en ny drivrutin i gammal struktur“ – och varje efterföljande projekt bygger åter egna regler.

FireDAC ersätter inte avkoppling mellan användargränssnitt och affärslogik

Om formulär idag sätter ihop SQL, affärsregler ligger i händelsehanterare och globala tillstånd dominerar, förblir det så efter migrationen initialt. FireDAC är ingen arkitekturåtgärd, men ett gott tillfälle att införa en minimal struktur: central anslutningshantering, få åtkomstklasser per domänmodul, definierade fel- och transaktionsregler. Det räcker ofta för att göra underhåll och drift betydligt mer förutsägbart.

Begränsningar och specialfall som ni bör ta upp tidigt

System som är starkt TTable-/Paradox-drivna

Om beståndet är starkt filbaserat är den egentliga frågan inte „BDE eller FireDAC“, utan „vilken datahållning“. FireDAC är inte avsedd att bevara en filbaserad värld så oförändrad som möjligt. Den som måste modernisera Paradox-data bör planera insatsen för datamigrering, schemadesign, rättigheter, backup/RESTore-tester och cutover noggrant – inklusive parallellkörning och dataavstämning om ett hårt avbrott inte är fackligt möjligt.

Parallellkörning är ett verktyg, inte ett slutligt tillstånd

Ja, BDE och FireDAC kan köras parallellt. Priset är komplexitet: dubbel konfiguration, dubbla felbilder, fler beroenden. Sätt därför tidigt ett slutdatum för avvecklingen av BDE och definiera skiljelinjen (moduler, use cases, tekniska lager). Halv-halb utan målbild blir i driften oftast dyrare än en beslutsam ombyggnad i vågor.

Vilka beslut IT-ledning och drift bör fastslå tidigt

  • Miljöstrategi: Hur hanterar ni Dev/Test/Prod-konfigurationer? Vem får ändra anslutningsparametrar? Hur hanterar ni hemligheter?
  • Drivrutin- och uppdateringspolitik: Hur versionshanteras och distribueras klientbibliotek? Finns release-kanaler och ett återgångsalternativ?
  • Observerbarhet: Vilka loggar behöver driften vid en incident? Vilka SQL-kontekster får loggas av integritets- eller säkerhetsskäl?
  • Acceptansformat: Vilka kärnprocesser måste täckas av regressionstest (listor, bokföringar, exporter, rapporter)?
  • Rollback-plan: Vad är återgångsstrategin per våg – tekniskt (paket), organisatoriskt (kommunikation) och datamässigt (ingen dataförlust)?

Hävstången som avgör framgång: förtroende genom bevis

De flesta migrationer misslyckas inte på grund av „anslutningen“, utan på grund av bristande förtroende. Förtroende uppstår när ni kan visa att kritiska processer förblir fackligt identiska – eller när avvikelser är medvetna beslut som kommuniceras tydligt. Här ligger chansen i omställningen: den tvingar fram explicita regler (sortering, datatyper, transaktioner) och skapar därmed en bas som även om två år fortfarande är underhållsbar och driftsbar. FireDAC är då inte målet, utan medlet för att återföra drift och vidareutveckling till ett planbart normalläge.

Om ni vill förbereda avlösningen strukturerat (riskkarta, pilot, test- och rollout-plan) kan ni initiera projektet här på ett ordnat sätt: diskutera projekt eller moderniseringsinitiativ med Net-Base.

Källor och vidare information

De sakliga huvudslutsatserna har redaktionellt kontextualiserats utifrån följande externa källor.

  1. Connecting to Databases – Overview – RAD Studio (docwiki.embarcadero.com)
    Embarcadero klassificerar BDE som avvecklat, pekar bland annat på bristande Unicode-stöd och rekommenderar migration till FireDAC.
  2. Övergång till FireDAC | Migreringscenter | webbplats (upgrade-center.embarcadero.com)
    Embarcadero beskriver en typisk FireDAC-migrering och nämner reFind som stöd för den mekaniska delen (Komponenten/uses/grundmodifieringar) samt tester för prestanda/samtidighet.
  3. FAQ företagsprogramvara | Net-Base (net-base-software-gmbh.de)
    Inramning: att BDE-ersättning i praktiken ofta innebär mer än enbart komponentbyte (SQL/datatyper/transaktioner som kontrollpunkter).

För detta ämne är även Delphi modernisering och FireDAC-migrering viktiga. Artikeln placerar dessa aspekter i ett begripligt sammanhang och visar vad som är avgörande i vardagen.

Diskutera projekt eller moderniseringsprojekt med Net-Base.

nästa steg

När ett ämne blir ett verkligt projekt bör arkitektur, befintligt bestånd och drift tidigt ses över gemensamt.

Vi stöder inte bara vid enstaka frågor, utan även när kodsfragment, legacy-frågor eller portalidéer ska utvecklas till ett robust företagsprojekt.

  • Nuläge, målbild och tekniska risker bedöms tillsammans.
  • REST, dataåtkomst, portaler och utrullning skjuts inte upp som sena följder.
  • Ni ser tidigt vilken väg som är ekonomiskt och driftmässigt hållbar.

Dela inlägg

Dela det här inlägget direkt

LinkedIn, X, XING, Facebook, WhatsApp och e-post är omedelbart tillgängliga. För Instagram förbereder vi länken och en kort text direkt.

E-post

Instagram öppnas i en ny flik. Länken och korttexten kopieras till urklipp först.

Skriv kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert