Net-Base Magasin

19.07.2026

BDE-udskiftning: Hvordan du sikkert moderniserer din Borland Database Engine-installation

Udskiftning af BDE er sjældent kun udskiftning af dataadgangslaget. Den, der erstatter Borland Database Engine (BDE) i produktive Delphi-applikationer, skal tænke installation, drivere, datastier, transaktioner, grænseflader og drift i sammenhæng. Denne artikel viser en...

19.07.2026

Fra magasinets tema til projektpraksis

Passende service- og tekniske sider til artiklen

En BDE-udskiftning er i mange virksomheder ikke et „nice-to-have“, men et spørgsmål om driftsevne: Borland Database Engine (BDE) er teknologisk forældet, svær at drive stabilt i moderne Windows-miljøer og hæmmer ofte næste skridt som 64-Bit, hardening af terminalservere, standardiseret softwaredistribution eller tilslutning til centrale SQL-databaser. Samtidig er der ofte tilknyttet voksede processer, grænseflader, rapporter og datamængder til BDE-baserede applikationer, som ikke kan erstattes „bare sådan“.

I praksis mislykkes BDE-migrationer sjældent på den rene teknik i dataadgangen. Faldgruberne ligger i detaljerne: installationsrutiner, skriveadgangsrettigheder, lokal alias-konfiguration, blandede datakilder, konkurrerende filadgange, implicitte transaktionsantagelser, manglende testdata eller uklare ansvarsfordelinger mellem drift og fagområder. Dette indlæg viser en struktureret moderniseringsvej, der sætter planlægning i fokus: Hvilke spørgsmål skal afklares på forhånd, hvordan kan omlægningen gennemføres trinvist, og hvilke konsekvenser opstår for administration, sikkerhed og drift.

Hvorfor en BDE-udskiftning i dag praktisk talt er uundgåelig

BDE stammer fra en tid, hvor lokale fildatabaser (f. eks. Paradox) og simple klient-server-forbindelser var i fokus. I dag møder BDE-applikationer en realitet, der er grundlæggende ændret: sikrede Windows-klienter, restriktive brugerrettigheder, pakkebaseret softwaredistribution, virtualiserede miljøer, centraliseret datalagring og øgede krav til sporbarhed (Audit), databeskyttelse og tilgængelighed.

Typiske drivere for udskiftningen er:

  • Inkompatible eller skrøbelige installationer: BDE kræver lokal konfiguration (f. eks. BDE-administrator, Alias, NET DIR). Det kolliderer med standardiserede udrulninger og begrænsede skriveadgangsrettigheder.
  • 64-Bit-strategi: Mange virksomheder ønsker på sigt at køre eksisterende Delphi-applikationer i 64-bit. BDE udgør en hindring, fordi den ikke er designet som en moderne 64-Bit-runtime.
  • Risici ved multiuser-drift: Filbaserede adgangsmønstre er sårbare ved netværksdrev, offline-scenarier eller ustabile forbindelser. Låse- og cacheadfærd er ofte svær at reproducere.
  • Sikkerheds- og compliance-krav: Centrale databaser tilbyder roller, logføring, kryptering og backup-strategier væsentligt mere konsistent end lokale filer.
  • Integration: Grænseflader til ERP, DMS, CRM eller portaler fungerer mere stabilt, når data leveres via SQL/REST i et kontrolleret miljø.

Vigtigt: En BDE-udskiftning er ikke automatisk en „databasemigrering“. Man kan udskifte BDE med et moderne dataadgangslag og i første omgang fortsætte med de samme datakilder – eller man kan bruge udskiftningen som anledning til samtidig at modernisere datalagring og drift. Hvilken strategi der passer, afhænger af risiko, tid og målsætning.

Teknisk kortlægning: Uden kort ingen sikker migration

Før man udskifter komponenter, er der behov for et pålideligt inventar. For IT-ledelse og administration er det det øjeblik, hvor uklare afhængigheder bliver synlige: Hvilke datakilder eksisterer reelt? Hvor befinder de sig? Hvem har hvilke rettigheder? Hvilke moduler tilgår parallelt? Og hvilke eksterne systemer forventer bestemte dataformater?

Hvilke datakilder er tilknyttet BDE?

Mange eksisterende applikationer bruger ikke ‚en‘ database, men en blanding: Paradox-tabeller, dBase, lejlighedsvis InterBase/Firebird, ODBC-kilder eller proprietære drivere. Derudover findes BDE-aliaser, som kapsler stier og drivere. For udskiftningen er følgende relevant:

  • Fysiske lagringssteder: Lokalt, netværksdrev, terminalserver-profil, delte mapper.
  • Multi-tenant-/flere-lokations-scenarier: Adskilte dataområder pr. kunde/filial eller fælles tabeller.
  • Skrivemønstre: Rent læseadgang vs. hyppige skriverier, batch-operationer, import/eksport.
  • Kritiske tabeller: Stamdata, transaktionsdata, historik, logfiler.

Hvordan er driften reelt organiseret i dag?

‚Det kører‘ er en farlig påstand, når en udskiftning står for døren. For planlægningen er det afgørende, hvordan hverdagen ser ud:

  • Backup og RESTore: Hvordan tages sikkerhedskopier? Genskabes der regelmæssigt? Hvor lang tid tager en gendannelse?
  • Update-proces: Manuel, via softwaredistribution, via login-skript? Hvilke rettigheder kræver et update?
  • Monitoring: Findes der indikatorer for datakorruption, locking-problemer, ødelagte indekser?
  • Supporttilfælde: Hvilke fejl mønstre optræder (f.eks. „Table is busy“, „Index out of date“, sti-fejl)?

Disse fakta afgør, om en overgang kan være ‚Big Bang‘ eller nødvendigvis må gennemføres trinvis.

BDE-udskiftning i praksis: målbilleder og typiske migrationsveje

Der er ikke én rigtig vej. Tre målbilleder har vist sig robuste og kan kombineres. Afgørende er, at målbilledet forbedrer driftsrealiteten: færre lokale specialkonfigurationer, klarere ansvar, reproducerbare udrulninger og en datahåndtering, der matcher nutidens krav.

Målbillede 1: Moderniser dataadgangen, behold dataopbevaringen indtil videre

Denne fremgangsmåde kan være fornuftig, hvis applikationen på kort sigt ‚kun‘ skal af med BDE (f.eks. på grund af rollout- eller sikkerhedsproblemer), men en databasemigration organisatorisk endnu ikke er moden. Man udskifter BDE-komponenterne med et moderne dataadgangslag og reducerer derved installations- og driftsrisici. Begrænsningerne består: filbaserede multiuser-problemer forsvinder ikke automatisk.

Vigtigt for drift og administration er, at konfigurationer centraliseres og dokumenteres: stier, adgangsrettigheder, netværksstabilitet og konsekvent versionering af datafilerne.

Målbillede 2: Migrere Paradox/dBase til en central SQL-database

Det er ofte det mest holdbare mål, fordi det adresserer flere problemer samtidigt: transaktioner, locking, rettigheder, backups, replikation, rapportering, grænseflader. SQL-databaser (f.eks. Microsoft SQL Server eller PostgreSQL) indeholder mekanismer, som er svære at reproducere stabilt i et filbaseret miljø.

Vigtig er forventningsstyring: En SQL-migration er ikke bare „Daten rüberschieben“. Den ændrer den måde, applikationer læser/skriver data på (f.eks. set-baserede opdateringer i stedet for post-for-post), hvordan indekser fungerer, og hvordan bivirkninger bliver synlige (f.eks. Deadlocks i stedet for stille inkonsistenser).

Målbillede 3: Afkobling via Services og Schnittstellen

Datamigrering: faldgruber ved Paradox og filbaserede ældre databaser

Når BDE-Ablösung er forbundet med en udskiftning af den filbaserede database, bliver projektet et datamigrationsprojekt. Her opstår de største risici – ikke på grund af manglende værktøjer, men på grund af faglige og historiske særheder i dataene.

Datakvalitet og implicitte regler

I mange Paradox-/dBase-bestande håndhæves regler ikke af systemet, men „kun“ af applikationskode og vane. Eksempler: obligatoriske felter, entydighed, referentiel integritet (relationer mellem tabeller). I SQL modelleres disse regler ofte eksplicit. Det er positivt, men kan ved import give konflikter, hvis gamle data overtræder disse regler.

En trinvis fremgangsmåde har vist sig effektiv:

  • Profilering: Analysere data (NULL-værdier, dubletter, ugyldige datoværdier, tegnsætsproblemer).
  • Regler definieren: Hvad er fagligt korrekt, hvad er historisk ballast?
  • Bereinigung: Automatiske korrektioner, hvor de er sikre; manuel afklaring ved specialtilfælde.
  • Wiederholbarer Import: Migration som en proces, ikke som en engangsaktion (så testcyklusser er mulige).

Tegnsæt, Umlaute og sortering

Tegnsæts- og sorteringsspørgsmål er klassikere. Det, der før „på en eller anden måde“ passede, bryder ved konsekvent Unicode-behandling: umlaute, specialtegn, forskellige collations (sorterings- og sammenligningsregler) og forskelle i store/små bogstaver. For brugerne virker det som et „pludselig kan søgningen ikke finde poster længere“-problem, men det er teknisk forklarligt og løsbart, hvis det adresseres tidligt.

Performance: Set-basierte Verarbeitung statt Datensatz-Schleifen

Ved skift til SQL er det vigtigt at undgå performance-fælder: Det, der i en lokal tabel som en løkke over poster var „ok“, kan blive langsomt over netværk og SQL-server. Her ligger et stort løft: Udform forespørgsler, indekser og batch-operationer, så database-serveren kan udføre arbejdet effektivt. For IT betyder det: Belastningen flyttes fra klienten til serveren, og dermed bliver serverressourcer, vedligeholdelsesvinduer og monitoring vigtigere.

Schnittstellen und Folgeeffekte: Was sich außerhalb der Anwendung ändert

En BDE-Ablösung berører sjældent kun dataadgangen. Typiske følgevirkninger opstår i rapporter, eksporter, Office-integrationer, tredjepartssystemer og i måden, data stilles til rådighed på.

Reporting, Druck und PDF-Workflows

Report-engines eller ældre udskriftskæder tilgår ikke sjældent direkte BDE-aliaser. Når applikationen omlægges, skal disse stier gennemgås. Det anbefales at køre rapporter via det samme dataadgangslag som applikationen eller levere dem gennem en defineret service. Det reducerer „skyggeadgange“ til datalagre, som senere er svære at kontrollere.

Integration mit ERP, DMS und Portalen

Mange virksomheder bruger moderniseringen til ikke længere at dele data via filshares eller direkte DB-adgang, men via interfaces. At efterinstallere en REST-API til bestående software kan være et pragmatisk skridt for at muliggøre portaler, BI eller partnerintegrationer, uden at hver forbruger får egne databaseadgange. Det forbedrer sikkerhed og sporbarhed, men kræver ordentlig autentificering (f.eks. SAML 2.0 som Single-Sign-On) og en klar rollemodel.

Teststrategi og godkendelse: Hvordan I planmæssigt reducerer risici

Ved en BDE-udskiftning er den faglige godkendelse ofte flaskehalsen. Applikationen „ser ens ud“, men adfærden kan ændre sig subtilt: sorteringsrækkefølger, afrundinger, låseadfærd, søgelogik, fejltekster. En robust testtilgang forbinder teknik og faglighed.

Minimal, men effektiv regressionstest

I stedet for at forsøge at teste „alt“ har en prioriteret testliste vist sig effektiv:

  • Kritiske processer: Bogføringer, godkendelser, materialebevægelser, afregninger – afhængigt af domænet.
  • Dataændringer: Nyoprettelse, ændring, annullering/sletning, masseændringer, importer.
  • Paralleldrift: To brugere ændrer lignende data, samtidige analyser.
  • Fejlsituationer: Netværksafbrydelse, DB-genstart, manglende rettigheder, fulde lagringsmedier.

For IT er det afgørende, at tests er gentagelige: med definerede testdata, klar versionering af databasen og dokumenterede forudsætninger.

Sammenlignende målinger: Hvad tæller egentlig?

»Føles hurtigere« er ikke et kriterium. Meningsfuldt er målinger, der berører drift og brugere ligeværdigt: opstartstider, varighed af kritiske bogføringer, tid til opbygning af lister, rapportkørselstider samt typisk „mandag morgen“-belastning. Dermed kan serverdimensionering og performance-tuning målrettes.

Rollout og drift: Fra pilotgruppe til en velordnet tilbagefaldsstrategi

En ofte undervurderet del er introduktionen. Selv når teknikken er på plads, kan et ustruktureret rollout belaste driften unødigt. Målet er en fremgangsmåde, der for administration og helpdesk forbliver håndterbar.

Pilotering med klare kriterier

En pilotgruppe bør ikke kun indeholde „venlige brugere“, men dække reelle varianter: forskellige lokationer, netværkskvaliteter, adgangsroller, datavolumen. Fastlæg på forhånd, hvilke kriterier der skal være opfyldt for et „Go“: fejlklasse, performance, stabilitet, supportindsats, dokumentation.

Deployment-detaljer, der afgør succes

  • Konfiguration: Central, sporbar lagring (ikke „et eller andet sted i brugerprofilen“).
  • Rettigheder: Minimalprincippet for DB-konti, separate konti for applikation og admin.
  • Netværk: Firewalls, DNS, certifikater, proxy-regler, stabil navneopløsning.
  • Backup: For SQL: konsistente server-backups, regelmæssige RESTore-tests, definerede RPO/RTO (datatab-/gendannelsesmål).
  • Monitoring: Database-tilstand, storage, latenser, låsekonflikter, fejlprocenter.

Tilbagefaldsoption uden kaos

hvad der sker i tilbagefaldet (datastand, brugerkommunikation, ansvar) og hvordan det teknisk gennemføres.

Vurdering for beslutningstagere: Omkostninger opstår sjældent i koden, men i omgivelserne

Hvis udskiftningen betragtes som et rent udviklerprojekt, mangler ofte en stor del af sandheden. De egentlige omkostningsdrivere er:

  • Uklare datarealitet: historiske specialtilfælde, uensartet datavedligeholdelse, skjulte afhængigheder.
  • Driftsmiljø: manglende test- og staging-systemer, uklare ansvarsfordelinger, ikke-dokumenterede deployment-processer.
  • Godkendelse: manglende procesbeskrivelser, ingen prioriterede tests, intet tidsbudget hos fagafdelingerne.
  • Grænseflader: Rapporter, eksporter, tredjepartssystemer, der „skjult“ tilgår BDE.

Den gode nyhed: Netop disse punkter kan afbødes med en ordentlig projektstruktur. En tidlig, pragmatisk statusopgørelse, en defineret målarkitektur (f.eks. Layer-3 arkitektur som klar adskillelse af brugergrænseflade, forretningslogik og dataadgang) og en udrulningsplan, der tager driften alvorligt, er ofte mere effektive end et særligt „smart“ teknisk trick.

Konklusion: BDE-udskiftning som mulighed for kontrollerbar drift

En BDE-udskiftning er succesfuld, når den ikke blot erstatter et gammelt bibliotek, men målbart forbedrer driften: færre lokale specialkonfigurationer, klarere udrulninger, bedre diagnostiske muligheder og en datahåndtering, der understøtter backup, rettigheder, overvågning og integration. Om I først moderniserer alene dataadgangslaget eller migrerer direkte til en central SQL-database, afhænger af jeres risiko- og målprofil. Afgørende er en fremgangsmåde i klare etaper: statusopgørelse, målbild, prototype/pilot, gentagelig migration, hårde tests og en udrulning med tilbagerulningsmulighed.

Hvis I ønsker at vurdere jeres udgangssituation struktureret (datakilder, udrulning, målarkitektur, migrationsvej), så tal med os om det mest fornuftige næste skridt:

I det faglige miljø spiller også udskiftning af Borland Database Engine og Delphi BDE-migration en vigtig rolle, når integrationer, dataflows og videreudvikling skal spille sammen rent.

Drøft projekt eller moderniseringsforløb med Net-Base.

Næste trin

Når emnet bliver til et reelt projekt, bør arkitektur, eksisterende systemer og drift tidligt vurderes samlet.

Vi støtter ikke kun ved enkeltspørsmål, men også når kildekodeudsnit, legacy-komponenter eller portalidéer skal udvikles til et robust virksomhedsprojekt.

  • Eksisterende tilstand, målbillede og tekniske risici vurderes samlet.
  • REST, dataadgang, portaler og udrulning bliver ikke udskudt som efterfølgende opgaver.
  • De ser tidligt, hvilken vej der er økonomisk og driftsmæssigt bæredygtig.

Del indlæg

Del dette indlæg direkte

LinkedIn, X, XING, Facebook, WhatsApp og e-mail er straks tilgængelige. Til Instagram forbereder vi link og kort tekst.

E-mail

Instagram åbner i en ny fane. Linket og kortteksten kopieres på forhånd til udklipsholderen.