Net-Base Revista

26.06.2026

Modernitzar bases de dades Paradox: vies per sortir d’un sistema llegat sense risc operatiu

Les bases de dades Paradox funcionen sovint de manera estable durant anys, fins que l'operació, la seguretat i la modernització de les interfícies es converteixen en factors limitants. L'article descriu vies de modernització provades a la pràctica, des de l'anàlisi de l'estat actual, passant per la migració de dades fins a l'operació en paral·lel, incloent-hi obstacles típics amb BDE...

26.06.2026

Del tema de la revista a la pràctica del projecte

Pàgines de serveis i tècniques pertinents per a l'article

Qui vol modernitzar bases de dades Paradox rarament s’enfronta a un problema purament tecnològic. En moltes empreses Paradox forma part d’un paisatge de processos desenvolupat amb el temps: clients d’escriptori, taules basades en fitxers, sovint vinculades a la Borland Database Engine (BDE), a més de workarounds per a bloquejos, comparticions de xarxa i conjunts de dades que han crescut històricament. Mentre tot funcioni, la configuració s’accepta. Esdevé crític quan l’explotació i la seguretat exigeixen nivells més alts, calen noves interfícies o les actualitzacions de Windows i de la xarxa afecten de sobte l’accés a fitxers i el locking.

Aquest article situa les situacions d’origen típiques i mostra camins de modernització que respecten l’operació en curs. El focus no està en frameworks o detalls de codi font, sinó en les repercussions per a l’administració, les dades, les interfícies, el manteniment, la seguretat i els riscos de migració. L’objectiu és un procediment que vostè, com a direcció TI o responsable tècnic del projecte, pugui planificar, governar i defensar davant les àrees funcionals.

Per què les implantacions Paradox ja no s’ajusten a l’explotació actual

Paradox, com a tecnologia de base de dades basada en fitxers (taules com a fitxers), en molts entorns no està „trencada“, però encaixa cada cop pitjor amb les realitats operatives d’avui. Les dades sovint resideixen en fileshares, els accessos es fan a través de clients d’escriptori i la BDE o altres capes de controlador intervenen. Això xoca amb els requisits moderns de disponibilitat, traçabilitat i canvis controlats.

Impulsors típics d’una modernització són:

  • Estabilitat en l’operació de xarxa: Els mecanismes de bloqueig basats en fitxers reaccionen de manera sensible a latències, períodes fora de línia, escanejadors antivirus massa agressius o trams WLAN inestables. Això no sempre es manifesta com una „caiguda“, sinó com conflictes d’escriptura esporàdics, registres bloquejats o índexs danyats.
  • Seguretat i compliment: L’accés via fileshares i instal·lacions locals dificulta el control d’accés centralitzat. La preservació d’auditories, la traçabilitat de canvis i permisos coherents són més difícils d’imposar amb la lògica del sistema de fitxers que amb una base de dades servidor.
  • Interfícies i integració: Tan bon punt es requereixen connexions DMS/ERP/CRM, REST-APIs (interfícies de programació basades en HTTP) o informes sobre models de dades centrals, l’enfocament basat en fitxers es converteix ràpidament en un fre.
  • Mantenibilitat i risc de coneixement: Moltes solucions Paradox/BDE depenen de poques persones que coneixen l’accés a dades, la cura de les taules i els patrons d’error. Si es perd aquest coneixement, augmenta la incertesa operativa.
  • Escalabilitat i paral·lelisme: Més usuaris, més ubicacions, més automatització: tot això incrementa els accessos simultanis. Precisament en aquests escenaris les bases de dades basades en fitxers són vulnerables en l’ús diari.

Decisiu: Una modernització rarament és un projecte de „tot de nou“. En la pràctica, funciona un camí que controla els riscos sobre les dades i transfereix la lògica de negoci pas a pas cap a una arquitectura robusta.

Avaluació de l’estat: quina variant de Paradox és realment present?

„Tenim Paradox“ pot significar coses tècnicament molt diferents. Per a la planificació és important no considerar el sistema només com una base de dades, sinó com un conjunt integrat de dades, capa d’accés i entorn d’explotació.

Elements tècnics que cal identificar amb precisió

  • Estructura de mitjans i rutes: On es troben les taules, els índexs, els fitxers temporals? Localment, en servidors de fitxers, en estructures DFS? Hi ha diverses còpies per ubicació?
  • Capa d’accés: S’utilitza la Borland BDE (capa d’accés a dades històrica per a Delphi/aplicacions C++) o controladors alternatius? Hi ha ponts ODBC o implementacions pròpies?
  • Entorn de clients: Quines versions de Windows, servidors de terminal/RDS, Citrix, instal·lacions locals, models de permisos mixtos?
  • Accessos paral·lels: Quants usuaris simultanis, quins treballs per lots, quins exportacions/importacions automàtiques?
  • Lògica de taules: Referències, conceptes de claus, relacions „fluixes“ sense RESTriccions reals, significats de camps formats històricament.

Aquesta presa d’inventari no és una formalitat. Determina si una migració és possible en pocs passos controlats o si abans cal estabilitzar la qualitat de dades i les vies d’accés.

Objectius de modernització: què „llest“ significa abans de començar

Molts projectes no fallen per la tècnica, sinó per objectius poc clars. „Allunyar-se de Paradox“ no és un objectiu, sinó un desig. Per a una planificació sòlida, cal concretar quines característiques han de complir-se després de la modernització.

Criteris pragmàtics per a operacions i governança IT

  • Nucli de dades central, transaccional: Les modificacions de dades s’executen a través d’una base de dades de servidor amb transaccions (canvis atòmics, consistents) i lògica de bloqueig definida.
  • Permisos clars: Rols, habilitat per a múltiples mandants (si cal), registre d’accessos i modificacions.
  • Còpia de seguretat i RESTauració amb temps definits: No „copiar en qualsevol lloc“, sinó proves de recuperació, RPO/RTO (objectius de pèrdua de dades i de reanada) i responsabilitats definides.
  • Integració mitjançant interfícies: En lloc d’accés a fitxers per processos externs: APIs definides o processos d’importació/exportació amb validació.
  • Procés de release i canvi: Migracions de base de dades versionades, estratègies de rollback documentades, entorns de prova realistes.

Com més clars siguin aquests criteris, més fàcil serà decidir si primer realitzeu una „BDE-Ablösung“ en l’accés o si aneu directament cap a la migració client-servidor.

Modernització de bases de dades Paradox: tres arquitectures objectiu provades

A la pràctica s’han establert tres models objectiu. Quina variant s’adapta depèn del volum de dades, del grau d’integració i de la pressió per modernitzar. Important: podeu combinar les variants o utilitzar-les com a passos intermedis.

1) „Estabilitzar i desacoblar“: modernitzar la capa d’accés, conservar les dades per ara

Si l’àrea funcional no tolera canvis i l’explotació actualment funciona „amb dificultat“, un primer pas pot ser desacoblar la capa d’accés i reduir els riscos. Això sovint inclou la BDE-substitució: la BDE s’ha de substituir per accessos a dades més moderns per poder controlar millor l’explotació en versions actuals de Windows i en entorns endurits. Tècnicament sovint es projecta una substitució de BDE amb connexió nativa (component d’accés a dades Delphi amb controladors i API unificat) o altres capes de controladors natius, sense reestructurar immediatament el procés funcional.

Això no és un estat final. Però pot guanyar temps: menys dependència d’antigues rutines d’instal·lació, millor registre (logging), configuració més clara i sovint també millor visibilitat d’errors en l’explotació.

2) „Nucli client-servidor“: Migració a SQL Server o PostgreSQL

El camí més habitual i sostenible és la migració de les taules a una base de dades servidor, per exemple Microsoft SQL Server o PostgreSQL. Ambdues ofereixen seguretat transaccional, permisos centrals, índexs coherents, estratègies de còpia de seguretat netes i millors possibilitats d’integració. Per a les empreses és sobretot un guany operatiu: monitoratge, replicació, responsabilitats clares i menys risc per efectes derivats dels servidors de fitxers.

Important: la migració de dades és només la meitat de la feina. Igualment rellevant és l’adaptació de la lògica d’aplicació a transaccions reals, restriccions del costat servidor i un model de dades més clar.

3) „Capa de servei primer“: API abans del client, modernització gradual

Si diverses aplicacions accedeixen a les dades Paradox o es planegen nous portals/automatitzacions, una capa de servei pot ser el primer pas estructurador. Es tracta d’un servei central REST-servei (interfície HTTP) que encapsula operacions de lectura/escriptura. Així es redueix l’accés directe a les taules i es crea una capa d’integració controlada. Aquesta opció és especialment útil quan han de sorgir nous portals web o interfícies externes, mentre que el client d’escriptori encara romandrà una temporada.

La migració de la base de dades pot seguir a continuació, sense haver de tocar cada integració de nou.

Migració de dades: de basat en fitxers a relacional – obstacles típics

Els conjunts de dades Paradox sovint són „correctes des del punt de vista funcional“, però tècnicament inconsistents. En la migració a una base de dades relacional servidor aquesta inconsistència esdevé visible. Qui ho subestimi generarà casos de suport després del canvi, perquè les llistes s’ordenen diferent, apareixen duplicats o els informes de cop difereixen.

1) Claus, duplicats i ambigüitats „històricament tolerades“

A molts sistemes Paradox no existeixen claus primàries rígides o no s’han utilitzat de forma consistent. En SQL Server / PostgreSQL les claus úniques són, però, centrals: per a rendiment, referències i integritat de dades. Tasques freqüents:

  • Identificació de duplicats en camps presumptament únics (p. ex. números de client o de document).
  • Determinació de claus primàries (naturals vs. identificadors tècnics) i tractament de dades antigues.
  • Introducció de Foreign Keys (claus foranes) on tingui sentit des del punt de vista funcional – o renúncia conscient amb lògica de compensació.

Això és menys „teoria de bases de dades“ que realitat operativa: sense claus clares les interfícies posteriors, les sincronitzacions i les auditories es tornaran costoses.

2) Conjunts de caràcters, caràcters especials i ordenació

Especialment en instal·lacions antigues, els conjunts de caràcters i les regles d’ordenació s’han anat formant històricament. Després de la migració l’ordenació (Collation) pot canviar: les vocals amb dièresi, la ß, majúscules/minúscules o els signes d’accent es comporten de manera diferent. Per a l’usuari això sembla un error, tot i que les dades són correctes. Per tant, planifiqueu:

  • Definició d’una Collation coherent a la base de dades de destinació.
  • Alineament de les lògiques de cerca (exacta vs. sense distinció entre majúscules i minúscules).
  • Proves amb dades reals, no només amb conjunts de dades de demostració.

3) Formats de data i nombres, arrodoniment, valors buits

Els sistemes basats en fitxers sovint toleren valors que en una base de dades de servidor no encaixen directament: camps de data buits, nombres emmagatzemats com a text, separadors decimals mixtos. En la migració calen regles de transformació i una estratègia clara sobre què significa «desconegut» (NULL, 0, cadena buida). Això és rellevant des del punt de vista funcional perquè afecta els informes i els processos posteriors.

4) Bloquejos i concurrència: el comportament canvia

Els bloquejos de Paradox i les transaccions en una base de dades de servidor funcionen de manera diferent. En una base de dades de servidor hi ha nivells d’aïllament clarament definits (regles que determinen com es veuen entre si els accessos simultanis). Això té impacte en:

  • edició concurrent de dades mestres,
  • processos per lots (p. ex. facturació agrupada),
  • transaccions llargues a causa de formularis «oberts» en el client.

Això no és un argument en contra de la migració, però sí un motiu per parlar aviat amb les unitats de negoci sobre la guia d’usuari, els conceptes de bloqueig i els missatges de conflicte.

Funcionament en paral·lel en comptes de Big Bang: reduir el risc de manera controlada

En entorns empresarials, un canvi «en un cap de setmana» rarament és realista. Un funcionament en paral·lel redueix el risc si està ben planificat. L’objectiu no és operar dues versions de manera permanent, sinó establir una fase de transició amb regles clares.

Models pràctics per al funcionament en paral·lel

  • Espill de només lectura: La nova base de dades s’omple des de Paradox i s’utilitza per a reporting/BI. Les operacions d’escriptura es mantenen inicialment al sistema antic. És una bona forma d’iniciar per validar la qualitat de les dades, el mapping i el rendiment.
  • Write-through a través d’una capa: Les operacions d’escriptura passen per una lògica central que atén tant Paradox com la base de dades de destinació. Això és més exigent, però pot reduir dependències.
  • Canvi per mòduls: Certs processos (p. ex. l’alta de comandes) passen primer, altres ho faran després. Requisit: interfícies clares entre mòduls i una sobirania de dades estable per procés.

És important un clar «System of Record» per àrea de dades: cal establir quina és la font de dades principal. Altrament sorgiran divergències que després costarà esmenar.

Rollback, còpies de seguretat i traçabilitat: què necessita realment l’operació IT

La modernització només s’accepta en l’operativa si els plans d’emergència estan clars. Això inclou no només les còpies de seguretat, sinó també canvis traçables en dades i esquema.

Requisits mínims que heu de definir abans del Cutover

  • Pla de recuperació: Qui fa què, en quina ordre, amb quins accessos? Una RESTauració és un procés, no una característica.
  • Prova de RESTauració: No de forma teòrica, sinó en un entorn de staging amb conjunts de dades realistes.
  • Versionat d’esquema: Els canvis de la base de dades es versionen i s’implementen de manera reproductible. Això redueix les sorpreses amb els hotfixes.
  • Audit- und Änderungsprotokolle: Je nach Branche reicht ein technisches Logging (wer änderte wann) oder es braucht fachliche Historisierung (Wert alt/neu). Beides sollte bewusst entschieden werden.
  • Gerade bei Paradox-Altsystemen ist „Nachvollziehbarkeit“ oft implizit über Dateien, Backups und Erfahrungswissen gelöst. In einer modernen Umgebung sollte sie explizit werden.

    Schnittstellenmodernisierung: Weg vom Dateizugriff, hin zu kontrollierten Flüssen

    Viele Risiken in Paradox-Umgebungen entstehen nicht im Kernsystem, sondern durch „Nebenprozesse“: Excel-Makros, Imports aus Fremdsystemen, Batch-Jobs, die direkt Tabellen anfassen. Bei einer Migration müssen diese Zugriffe identifiziert und ersetzt werden.

    Was Sie bei Integrationen systematisch klären sollten

    • Welche Systeme lesen/schreiben wirklich? Nicht nur offiziell, sondern auch in „inoffiziellen“ Abteilungen.
    • Welche Datenflüsse sind kritisch? Beispielsweise Stammdaten vs. Belege vs. Statusmeldungen.
    • Welche Validierungen fehlen heute? Dateibasierte Imports umgehen oft Plausibilitäten, die später zu Datenmüll führen.
    • Wie wird Fehlerbehandlung gemacht? Moderne Schnittstellen brauchen Quittungen, Wiederholungen und klare Fehlermeldungen.

    Ein sinnvoller Zielzustand ist eine API- oder Service-Schicht, die Datenzugriffe zentralisiert. Das ist auch aus Security-Sicht relevant: statt Freigabezugriffen und verstreuten Credentials arbeiten Sie mit zentralen Identitäten und protokollierten Requests.

    Technische Migrationsplanung: Ein Vorgehen, das in der Realität funktioniert

    Unternehmenssoftware lässt sich nicht wie ein Laborprojekt migrieren. Sie brauchen ein Vorgehen, das fachliche Abnahme, Betriebsvorbereitung und technische Umsetzung zusammendenkt.

    Ein praxistauglicher Ablauf in sechs Etappen

    1. Discovery und Risikoanalyse: Datenquellen, Zugriffe, Abhängigkeiten, kritische Prozesse, Betriebskonzept.
    2. Zielbild und Migrationsschnitt: Welche Datenbereiche wandern zuerst, welche bleiben vorerst? Definition der führenden Datenquelle.
    3. Datenmodell und Mapping: Tabellen, Schlüssel, Datentypen, Transformationsregeln, Historisierung.
    4. Technischer Probelauf: Migration in Staging, Performance-Tests, Abgleich von Reports und Kernprozessen.
    5. Parallelbetrieb mit Messpunkten: Logging, Fehlerklassen, Datenvergleich, definierte Abbruchkriterien.
    6. Cutover und Stabilisierung: Umstellung, Monitoring, Nacharbeiten, Abschalten von Altzugriffen, Dokumentation für Betrieb.

    Dieses Vorgehen ist bewusst iterativ: Je früher Sie reale Daten und reale Prozesse testen, desto geringer ist die Gefahr, dass die „letzten 10 %“ explodieren.

    Tooling und Betrieb: Monitoring, Performance und Rechtekonzept von Anfang an

    Ein häufiger Fehler ist, die neue Serverdatenbank wie eine „bessere Dateiablage“ zu behandeln. Serverdatenbanken benötigen Betriebskonzepte: Monitoring, Kapazitätsplanung, Indexpflege, Rechteverwaltung. Das ist kein Overhead, sondern verhindert die typischen „nach drei Monaten wird es langsam“-Effekte.

    Konkrete Betriebspunkte, die Sie einplanen sollten

    • Monitoring: Verbindungszahlen, langsame Queries, Sperrkonflikte, Speicher- und I/O-Last.
    • Index- und Statistikpflege: Für stabile Performance bei wachsenden Daten.
    • Rechte und Rollen: Minimale Berechtigungen, Trennung von Lese-/Schreibrollen, administrative Zugänge dokumentieren.
    • Estratègia d’entorn: Dev/Test/Staging/Producció amb una clara estratègia de dades (mascarament, còpies parcials, dades anonimitzades).

    Per a la direcció d’IT i els administradors això sovint és el guany més gran: en lloc de problemes de servidors de fitxers difícils d’explicar, hi ha mètriques mesurables i processos operatius estandarditzats.

    El que cal evitar

    Alguns patrons reapareixen sovint en projectes de modernització – i costen temps, diners i confiança. Tres punts són especialment rellevants:

    • Migració sense comprovació de la qualitat de dades: Si els duplicats i els casos especials només es detecten després del cutover, la càrrega recau al suport i a l’àrea funcional. Millor: generar aviat informes sobre la qualitat de les dades i avaluar-los conjuntament.
    • Desconnexió massa prematura dels accessos antics sense pla: Molts processos «petits» accedeixen directament a taules. Si aquestes falten dilluns, sorgeix el caos. Identifiqueu els processos auxiliars i establiu vies alternatives.
    • Responsabilitats poc clares entre operació i projecte: Qui decideix en cas de problemes de rendiment? Qui pot desplegar canvis d’esquema? Defineu-ho abans de la primera posada en producció.

    Context per a instal·lacions Delphi/BDE: Modernitzar sense una reescriptura completa

    Moltes instal·lacions Paradox depenen d’aplicacions d’escriptori Delphi. Aquí és important: modernitzar no significa necessàriament reescriure. Sovint una reestructuració pas a pas és viable si l’arquitectura i l’accés a les dades estan clarament separats. Una capa ben definida (p. ex. arquitectura Layer-3: UI, lògica de negoci, accés a dades) ajuda a executar la migració de la base de dades de manera controlada, sense tocar tot el sistema d’una sola vegada.

    Si està prevista una substitució de BDE, també val la pena revisar la configurabilitat centralitzada, el logging i l’estratègia de drivers, de manera que les noves bases de dades (SQL Server, PostgreSQL) es puguin executar en cada client sense «instal·lacions especials».

    Conclusió: la modernització és un projecte operatiu – amb les dades com a nucli

    Els sistemes Paradox sovint perduren perquè representen els processos de manera fiable. Precisament aquesta estabilitat funcional cal protegir-la. Una modernització reeixida, per tant, no es centra en «substituir tecnologia», sinó en un control de les dades controlat, integracions netes i un funcionament que sigui mesurable, restaurable i segur. L’enfocament pragmàtic passa per un inventari clar, una visió objectiu amb criteris operatius, una migració amb regles de qualitat de dades i – on calgui – un funcionament en paral·lel amb rollback definit.

    Si voleu avaluar de manera estructurada la vostra situació inicial (dades, accessos, dependències BDE/Delphi, integracions), una breu conversa tècnica prèvia sovint és el pas més ràpid per aclarir riscos i punts de tall de migració raonables: posar-se en contacte.

    En l’àmbit funcional, la migració de bases de dades Paradox i la substitució de Borland BDE també juguen un paper important quan cal que les integracions, els fluxos de dades i el desenvolupament posterior interactuïn de manera ordenada.

    Parlar sobre un projecte o iniciativa de modernització amb Net-Base.

    Pas següent

    Quan un tema esdevé un projecte real, l'arquitectura, l'entorn existent i les operacions s'haurien de considerar conjuntament des de bon començament.

    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, l'accés a les dades, els portals i el desplegament no es releguen a fases posteriors.
    • Vostè veurà aviat quin camí és econòmicament i operativament viable.

    Comparteix la publicació

    Comparteix aquesta publicació directament

    LinkedIn, X, XING, Facebook, WhatsApp i E-Mail estan disponibles de forma immediata. Per a Instagram preparem directament l’enllaç i un text breu.

    Correu electrònic

    Instagram s'obre en una pestanya nova. L'enllaç i el text curt es copien prèviament al porta-retalls.