Net-Base Magasin

19.07.2026

BDE-utfasing: Hvordan du trygt moderniserer Borland Database Engine-toget

Erstatning av BDE er sjelden bare en utskifting av datatilgangslaget. Den som erstatter Borland Database Engine (BDE) i produktive Delphi-applikasjoner må se installasjon, drivere, filstier, transaksjoner, grensesnitt og drift i sammenheng. Denne artikkelen viser en...

19.07.2026

Fra magasinetema til prosjektpraksis

Egnede tjeneste- og tekniske sider for innlegget

En BDE-avvikling er i mange bedrifter ikke et «nice-to-have», men et spørsmål om driftssikkerhet: Borland Database Engine (BDE) er teknologisk utdatert, vanskelig å drifte på en robust måte i moderne Windows-miljøer, og blokkerer ofte neste steg som 64-Bit, sikring av terminalservere, standardisert programvaredistribusjon eller tilknytning til sentrale SQL-databaser. Samtidig er det ofte modne prosesser, grensesnitt, rapporter og datamengder knyttet til BDE-baserte applikasjoner som ikke kan erstattes «bare slik».

I praksis feiler BDE-migrasjoner sjelden på den rene teknikken for data-tilgang. Fallgruvene ligger i detaljene: installasjonsrutiner, skrivetillatelser, lokal alias-konfigurasjon, blandede datakilder, konkurrerende filtilganger, implisitte transaksjonsforutsetninger, manglende testdata eller uklare ansvarsforhold mellom drift og fagavdelinger. Dette innlegget viser en strukturert moderniseringsbane som setter planbarhet i forgrunnen: Hvilke spørsmål må avklares på forhånd, hvordan kan overgangen gjøres trinnvis, og hvilke konsekvenser får det for administrasjon, sikkerhet og drift.

Hvorfor en BDE-avvikling i praksis er uunngåelig i dag

BDE stammer fra en tid hvor lokale filbaserte databaser (f.eks. Paradox) og enkle klient-server-tilkoblinger dominerte. I dag møter BDE-applikasjoner en realitet som har endret seg fundamentalt: styrkede Windows-klienter, restriktive brukertillatelser, pakke-basert programvaredistribusjon, virtualiserte miljøer, sentralisert datalagring og økte krav til sporbarhet (revisjon), datasikkerhet og tilgjengelighet.

Typiske drivere for avviklingen er:

  • Ukompatibel eller skjør installasjon: BDE krever lokal konfigurasjon (f.eks. BDE-administrator, alias, NET DIR). Dette kolliderer med standardiserte utrullinger og begrensede skrivetillatelser.
  • 64-Bit-strategi: Mange virksomheter ønsker på sikt å drifte eksisterende Delphi-applikasjoner i 64-bit. BDE utgjør et hinder, fordi den ikke er ment som et moderne 64-bit kjøretidsmiljø.
  • Risiko ved multiuser-drift: Filbaserte tilganger er sårbare ved nettverksdisker, offline-scenarier eller ustabile forbindelser. Lås- og cache-adferd er ofte vanskelig å reprodusere.
  • Sikkerhets- og compliance-krav: Sentrale databaser tilbyr roller, logging, kryptering og backup-strategier betydelig mer konsistent enn lokale filer.
  • Integrasjon: Grensesnitt mot ERP, DMS, CRM eller portaler fungerer mer stabilt når data eksponeres via SQL/REST i et kontrollert miljø.

Viktig: En BDE-avvikling er ikke automatisk en «databasemigrasjon». Man kan bytte ut BDE med et moderne datatilgangslag og i første omgang fortsatt bruke de samme datakildene – eller man kan bruke avviklingen som anledning til å modernisere både datalagring og drift samtidig. Hvilken strategi som passer, avhenger av risiko, tid og målbildet.

Teknisk kartlegging: Uten kart ingen sikker migrasjon

Før man bytter ut komponenter, trenger man et pålitelig inventar. For IT-ledelse og administrasjon er det øyeblikket da uklare avhengigheter blir synlige: Hvilke datakilder eksisterer egentlig? Hvor ligger de? Hvem har hvilke rettigheter? Hvilke moduler får samtidig tilgang? Og hvilke eksterne systemer forventer bestemte dataformater?

Hvilke datakilder er knyttet til BDE?

Mange eksisterende applikasjoner bruker ikke «en» database, men en blanding: Paradox-tabeller, dBase, av og til InterBase/Firebird, ODBC-kilder eller proprietære drivere. I tillegg finnes BDE-aliaser som kapsler stier og drivere. For utskiftingen er følgende relevant:

  • Fysiske lagringssteder: Lokal, nettverksstasjon, terminalserver-profil, delte mapper.
  • Flermandant-/flere lokasjoner-scenarier: Separate dataområder per klient/lokasjon eller felles tabeller.
  • Skrivemønster: Rent lese-tilgang vs. hyppige skriver, batch-operasjoner, import/eksport.
  • Kritiske tabeller: Stamdata, transaksjonsdata, historikk, logger.

Hvordan er driften egentlig organisert i dag?

«Det fungerer» er en farlig påstand når en utskifting står for døren. For planleggingen er det hverdagen som teller:

  • Backup og RESTore: Hvordan tas sikkerhetskopier? Blir det regelmessig gjenopprettet? Hvor lang tid tar en gjenoppretting?
  • Oppdateringsprosess: Manuelt, via programvaredistribusjon, via påloggingsskript? Hvilke rettigheter kreves for en oppdatering?
  • Overvåking: Finnes det indikatorer for datakorruptjon, locking-problemer, ødelagte indekser?
  • Supporttilfeller: Hvilke feilmønstre oppstår (f.eks. «Table is busy», «Index out of date», sti-problemer)?

Disse fakta avgjør om en overgang kan være en «Big Bang» eller må gjennomføres trinnvis.

BDE-utskifting i praksis: målbilder og typiske migrasjonsveier

Det finnes ikke én riktig vei. Tre målbilder har vist seg nyttige, og de kan også kombineres. Avgørende er at målbildet forbedrer driftsrealiteten: færre lokale spesialkonfigurasjoner, klarere ansvar, reproduserbare utrullinger og en datalagring som møter dagens krav.

Målbilde 1: Modernisere dataadgang, beholde datalagring foreløpig

Dette grepet kan være fornuftig når applikasjonen på kort sikt «bare» må bli kvitt BDE (f.eks. på grunn av rollout- eller sikkerhetsproblemer), men en databasemigrasjon organisatorisk ennå ikke er moden. Man erstatter BDE-komponentene med et moderne dataadgangslag og reduserer dermed installasjons- og driftsrisiko. Begrensninger består: filbaserte multiuser-problemer forsvinner ikke automatisk.

For drift og administrasjon er det viktig at konfigurasjoner sentraliseres og dokumenteres: stier, tilgangsrettigheter, nettverksstabilitet og konsistent versjonshåndtering av datafilene.

Målbilde 2: Migrere Paradox/dBase til sentral SQL-database

Det er ofte det mest bærekraftige målbildet, fordi det adresserer flere problemer samtidig: transaksjoner, locking, rettigheter, backups, replikasjon, rapportering, grensesnitt. SQL-databaser (f.eks. Microsoft SQL Server eller PostgreSQL) tilbyr mekanismer som er vanskelig å ivareta stabilt i et filbasert miljø.

Viktig er styring av forventninger: En SQL-migrasjon er ikke bare „Daten rüberschieben“. Den endrer måten applikasjoner leser og skriver data på (f.eks. set-baserte oppdateringer i stedet for radvise), hvordan indekser fungerer og hvordan bivirkninger blir synlige (f.eks. deadlocks i stedet for stille inkonsistenser).

Målbilde 3: Avkobling gjennom tjenester og grensesnitt

Særlig i etablerte systemlandskap kan det være fornuftig å ikke bare modernisere dataadgangen «i klienten», men gradvis flytte funksjoner ut i tjenester: Windows-Services eller Linux-Services (en tjeneste er en bakgrunnsprosess uten brukergrensesnitt) som kapsler dataadgangen sentralt. Deretter kan interne klienter, portaler eller andre systemer få tilgang via REST-API (HTTP-basert grensesnitt med klare endepunkter).

Målet er mindre teknisk „eleganse“ og mer driftssikkerhet: sentral konfigurering, kontrollerte tilgangsrettigheter, bedre logging og mulighet til gradvis å forenkle klientapplikasjonen.

FireDAC som en moderne erstatning: Hva som endres for drift og daglig bruk

I Delphi-miljøer er BDE-Ablosung mit nativer Anbindung et utbredt dataadgangsbibliotek som kobler ulike databaser via enhetlige komponenter. For beslutningstakere er det mindre komponentnavnene som er relevante, og mer driftseffektene: driverhåndtering, sikkerhet, ytelse, feildiagnose og spørsmålet om hvor godt helheten kan pakkes og oppdateres.

Drivere, distribusjon og oppdaterbarhet

Installasjoner basert på BDE krever ofte lokale registeroppføringer og BDE-spesifikk konfigurasjon. BDE-Ablosung mit nativer Anbindung kan passe betydelig bedre inn i moderne distribusjonsprosesser, fordi avhengigheter pakkes tydeligere og (avhengig av database) kan leveres som klientbiblioteker eller gjøres tilgjengelige sentralt.

For administrasjonen anbefales det å fastsette tidlig:

  • Hvilke databasedrivere er nødvendige (f.eks. SQL Server Native Client/ODBC vs. direkte driverbiblioteker)?
  • Hvor ligger konfigurasjonsparametrene (fil, register, sentral konfigurasjon via gruppepolicyer)?
  • Hvordan lagres tilkoblingsdata sikkert (f.eks. Windows Credential Store, kryptert konfig)?

Gjør transaksjoner, låsing og samtidighet forståelige

Mange BDE-applikasjoner „fungerer“ basert på implisitte antakelser: en post blir låst, en annen bruker venter, og etter hvert frigjøres alt igjen. I SQL-systemer er mekanismene annerledes: transaksjoner (sammensatte endringer med Commit/Rollback) og isolasjonsnivåer (regler for hva parallelle brukere ser) er klart definerte, men må velges bevisst.

For drift og support er dette en fordel: problemer blir mer diagnostiserbare. I stedet for sporadiske filfeil ser man for eksempel timeouts, deadlocks eller brudd på constraints (regler som „Verdien må være unik“). Det forutsetter at logging og overvåkning er implementert korrekt.

Feilbehandling og logging: Fra „Fehlermeldung am Client“ til nyttige signaler

Ved en BDE-Ablösung lønner det seg å standardisere feilhåndteringsløpene: Hvilke opplysninger trenger support for å gjenskape et problem? Tilkoblingsparametre (uten passord), SQLSTATE/feilkoder, berørt handling, brukerkontekst, tidspunkt, servernavn. Disse dataene bør loggføres sentralt, ideelt slik at personvernkrav overholdes (f.eks. ingen personopplysninger i klartekst).

Datamigrering: fallgruver ved Paradox og filbaserte eldre beholdninger

Når BDE-erstatningen er knyttet til en utskifting av filbasert database, blir prosjektet et datamigreringsprosjekt. De største risikoene oppstår her – ikke på grunn av manglende verktøy, men på grunn av faglige og historiske særegenheter i dataene.

Datakvalitet og implisitte regler

I mange Paradox-/dBase-beholdninger håndheves regler ikke av systemet, men «bare» av applikasjonskode og vane. Eksempler: obligatoriske felt, entydighet, referensiell integritet (relasjoner mellom tabeller). I SQL modelleres disse reglene ofte eksplisitt. Det er bra, men fører til konflikter ved import dersom eldre data bryter disse reglene.

Et trinnvis forløp har vist seg effektivt:

  • Dataprofilering: Analyser data (nullverdier, duplikater, ugyldige datoverdier, tegnkodingsproblemer).
  • Definere regler: Hva er faglig korrekt, hva er historisk ballast?
  • Datavask: Automatiserte korrigeringer der de er sikre; manuell avklaring i enkelttilfeller.
  • Gjentakbar import: Migrering som en prosess, ikke som en engangshandling (slik at testsykluser er mulig).

Tegnkoding, diakritiske tegn og sortering

Et klassisk problem er tegnkodings- og sorteringsspørsmål. Det som tidligere «på en eller annen måte» passet, bryter sammen ved korrekt Unicode-behandling: diakritiske tegn, spesialtegn, ulike collations (sorterings- og sammenligningsregler) og forskjell på store og små bokstaver. For brukerne framstår dette som et «Plutselig finner søket ikke lenger oppføringer»-problem, men det er teknisk forklarlig og løsbart hvis det adresseres tidlig.

Ytelse: Settbasert behandling i stedet for løkker over poster

Ved overgang til SQL er det viktig å unngå ytelsesfeller: det som i en lokal tabell var «ok» som en løkke over poster, kan bli langsomt over nettverk og SQL-server. Her ligger et stort løft: utform spørringer, indekser og batch-operasjoner slik at databaseserveren kan gjøre arbeidet effektivt. For IT betyr det at belastningen flyttes fra klienten til serveren, og dermed blir serverressurser, vedlikeholdsvinduer og overvåking viktigere.

Grensesnitt og følgeeffekter: Hva som endres utenfor applikasjonen

En BDE-erstatning berører sjelden bare dataadgangen. Typiske sideeffekter oppstår i rapporter, eksport, Office-tilkoblinger, tredjepartssystemer og i måten data gjøres tilgjengelige på.

Rapportering, utskrift og PDF-arbeidsflyter

Rapportmotorer eller eldre utskriftskjeder går ikke sjelden direkte mot BDE-aliaser. Når applikasjonen endres, må disse banene gjennomgås. Det anbefales å la rapporter gå gjennom samme dataadgangslag som applikasjonen, eller å forsyne dem via en definert tjeneste. Det reduserer «skyggetilgang» til databeholdninger som senere er vanskelig å kontrollere.

Integrasjon med ERP, DMS og portaler

Mange selskaper bruker moderniseringen til å slutte å dele data via filandeler eller direkte DB-tilganger, og i stedet dele via grensesnitt. Å etterinstallere en REST-API for eksisterende forretningsprogramvare kan være et pragmatisk steg for å muliggjøre portaler, BI eller partnerintegrasjoner, uten at hver konsument får egne databasetilgang. Det forbedrer sikkerhet og sporbarhet, men krever ren autentisering (f.eks. SAML 2.0 som Single Sign-On-løsning) og en tydelig rollemodell.

Teststrategi og godkjenning: Hvordan redusere risiko på en planbar måte

Ved utskiftingen av BDE er faglig akseptanse ofte flaskehalsen. Applikasjonen „ser lik ut“, men oppførsel kan endre seg subtilt: sorteringsrekkefølge, avrundinger, låseadferd, søkelogikk, feilmeldinger. En solid testtilnærming forbinder teknikk og faglighet.

Minimal, men effektiv regresjonstest

I stedet for å forsøke å teste „alt“ har en prioritert testliste vist seg å være effektiv:

  • Kritiske prosesser: bokføringer, godkjenninger, materialbevegelser, avregninger – avhengig av domene.
  • Dataendringer: nyopprettelse, endring, annullering/sletting, masseendringer, importer.
  • Parallellkjøring: to brukere endrer lignende data, samtidige avlesninger/rapporter.
  • Feiltilfeller: nettverksavbrudd, DB-omstart, manglende rettigheter, fulle disker.

For IT er det avgjørende at tester er repeterbare: med definerte testdata, klar versjonshåndtering av databasen og dokumenterte forutsetninger.

Sammenlignende målinger: Hva teller egentlig?

„Føles raskere“ er ikke et kriterium. Fornuftig er målinger som berører både drift og brukere: oppstartstider, varighet av kritiske bokføringer, tid for oppbygging av lister, rapportkjøringstider, samt typisk „mandag morgen“-belastning. Med dette kan man målrettet gå løs på server-sizing og performance-tuning.

Rollout og drift: Fra pilotgruppe til en ryddig tilbakefallsopsjon

En ofte undervurdert del er innføringen. Selv om teknikken er på plass, kan et uklart roll-out belaste driften unødvendig. Målet er en fremgangsmåte som for administrasjon og helpdesk er håndterbar.

Pilotering med klare kriterier

En pilotgruppe bør ikke bare inneholde „vennlige brukere“, men dekke reelle varianter: ulike lokasjoner, nettverkskvalitet, rettighetsroller, datavolum. Fastsett på forhånd hvilke kriterier som må være oppfylt for „Go“: feilklasse, ytelse, stabilitet, supportinnsats, dokumentasjon.

Deployment-detaljer som avgjør suksess

  • Konfigurasjon: Sentralt, sporbart lagringssted (ikke „et eller annet sted i brukerprofilen“).
  • Rettigheter: prinsippet om minste privilegier for DB-kontoer, separate kontoer for applikasjon og admin.
  • Nettverk: brannmurer, DNS, sertifikater, proxy-regler, stabil navneoppløsning.
  • Backup: For SQL: konsistente server-backups, regelmessige RESTore-tester, definerte RPO/RTO (datatap-/gjenoppstartsmål).
  • Overvåkning: DB-helse, lagring, latenser, låsekonflikter, feilrater.

Tilbakefallsalternativ uten kaos

Særlig i forretningskritiske miljøer hører en tilbakefallsstrategi med. Den er ikke nødvendigvis „tilbake til BDE“. Ofte er det tilstrekkelig å gjøre parallellkjøring eller snapshots mulig for en definert periode. Avgørende er at det er klart hva som skjer ved tilbakefall (datatilstand, brukerkommunikasjon, ansvarsfordeling) og hvordan dette teknisk gjennomføres.

Vurdering for beslutningstakere: Kostnader oppstår sjelden i koden, men i omgivelsene

Hvis utskiftingen betraktes som et rent utviklerprosjekt, mangler som regel en stor del av sannheten. De egentlige kostnadsdriverne er:

  • Uklart datagrunnlag: historiske særtilfeller, uensartet datavedlikehold, skjulte avhengigheter.
  • Driftsmiljø: manglende test- og staging-systemer, uklare ansvarsforhold, ikke-dokumenterte utrullinger.
  • Godkjenning: manglende prosessbeskrivelser, ingen prioriterte tester, ingen tidsbudsjetter i fagavdelingene.
  • Grensesnitt: rapporter, eksporter, tredjepartssystemer som „hemmelig“ får tilgang til BDE.

Den gode nyheten: Nettopp disse punktene kan avhjelpes med en ryddig prosjektstruktur. En tidlig, pragmatisk kartlegging, en definert målarkitektur (f.eks. Layer-3 arkitektur som en klar separasjon mellom presentasjonslag, faglogikk og datatilgang) og en utrullingsplan som tar driften på alvor, er ofte mer effektive enn et spesielt „smart“ teknisk triks.

Konklusjon: BDE-utskifting som en mulighet for kontrollerbar drift

En BDE-utskifting er vellykket når den ikke bare erstatter et gammelt bibliotek, men målbart forbedrer driften: mindre lokale spesialkonfigurasjoner, tydeligere utrullinger, bedre diagnostikkmuligheter og en datahåndtering som støtter backup, rettigheter, overvåking og integrasjon. Om dere først moderniserer kun dataaksesslaget eller direkte migrerer til en sentral SQL-database, avhenger av deres risiko- og målprofil. Avgørende er en fremgangsmåte i klare etapper: kartlegging, målbildet, prototype/pilot, gjentakbar migrasjon, harde tester og en utrulling med tilbakefallsmulighet.

Hvis dere ønsker å vurdere deres utgangssituasjon strukturert (datakilder, deployment, målarkitektur, migrasjonsvei), snakk med oss om det mest fornuftige neste steget:

I faglige sammenhenger spiller også utskifting av Borland Database Engine og Delphi BDE migrasjon en viktig rolle når integrasjoner, dataflyter og videreutvikling må spille godt sammen.

Drøft prosjekt eller moderniseringsinitiativ med Net-Base.

Nächster Schritt

Wenn aus dem Thema ein reales Projekt wird, sollten Architektur, Bestand und Betrieb früh zusammen betrachtet werden.

Vi bistår ikke bare med enkeltspørsmål, men også når kodesnutter, legacy-temaer eller portalideer skal utvikles til et robust virksomhetsprosjekt.

  • Eksisterende tilstand, målbildet og tekniske risikoer vurderes samlet.
  • REST, Datenzugriff, Portale und Rollout werden nicht als Spätfolgen verschoben.
  • Sie sehen früh, welcher Weg wirtschaftlich und betrieblich tragfähig ist.

Del innlegg

Del dette innlegget direkte

LinkedIn, X, XING, Facebook, WhatsApp und E-Mail sind sofort verfügbar. Für Instagram bereiten wir Link und Kurztext direkt vor.

E-post

Instagram åpnes i en ny fane. Lenken og kortteksten kopieres først til utklippstavlen.