Lorsque vous essayez d’ouvrir Aspel SAE ou SUA et que le message “Base de datos dañada” (Base de données corrompue), “Error al abrir tabla” (Erreur d’ouverture de table), “Index is out of date” ou “Blob has been modified” apparaît, cela signifie que la base de données Paradox utilisée par le programme a été corrompue. C’est l’une des erreurs les plus fréquentes dans Aspel et SUA, surtout dans les environnements sujets aux coupures de courant. Ce guide explique comment diagnostiquer, réparer et prévenir la corruption de la base de données.

L’Erreur

Les messages d’erreur peuvent apparaître sous plusieurs formes lors de l’ouverture d’une entreprise ou de l’exécution d’un processus dans Aspel SAE ou SUA :

  • “Base de datos dañada” — message générique qui apparaît lors de l’ouverture des tables de la base de données Paradox.
  • “Error al abrir tabla [nom_table]” — indique qu’une table spécifique comme FACTURAS.DB, CLIENTES.DB ou MOV_ALMA.DB est corrompue.
  • “Index is out of date” — les fichiers d’index (.PX, .XG, .YG) ne correspondent pas aux données de la table.
  • “Blob has been modified” — les champs de type mémo ou BLOB de la table ont perdu leur intégrité.
  • “Key violation” — des enregistrements en double apparaissent dans les clés primaires en raison de la corruption de l’index.

Ces erreurs apparaissent au démarrage du programme, lors de l’ouverture d’une entreprise, de la génération de rapports ou de la facturation. Pour SUA, elles surviennent lors de la génération du fichier de paiement IMSS ou de la consultation des mouvements.

Cause du Problème

Aspel SAE et SUA utilisent des bases de données Paradox gérées par le BDE (Borland Database Engine), une technologie développée par Borland dans les années 90. Ces bases de données sont particulièrement vulnérables à la corruption pour les raisons suivantes :

  1. Coupures de courant — Si l’ordinateur s’éteint pendant qu’Aspel écrit des données dans une table, les fichiers d’index se retrouvent dans un état incohérent avec les données. C’est la cause la plus courante de corruption.

  2. Fermeture forcée du programme — Utiliser le Gestionnaire des tâches pour fermer Aspel ou éteindre Windows sans d’abord fermer le programme laisse des fichiers de verrouillage actifs et peut corrompre les tables ouvertes.

  3. Déconnexions réseau pendant l’écriture — Dans les environnements multi-utilisateurs où la base de données est sur un serveur partagé, si un poste perd sa connexion réseau pendant l’écriture de données, la table peut se retrouver corrompue pour tous les utilisateurs.

  4. Erreurs de disque dur — Des secteurs défectueux sur le disque où sont stockés les fichiers .DB de Paradox provoquent une lecture incorrecte des données.

  5. Configuration incorrecte du BDE — Si le paramètre NET DIR du BDE n’est pas correctement configuré dans les environnements réseau, plusieurs ordinateurs peuvent tenter d’écrire simultanément sans coordination, corrompant les index.

  6. Antivirus analysant les fichiers de la base — Certains antivirus verrouillent temporairement les fichiers .DB et .PX pendant une analyse, ce qui peut provoquer des erreurs d’écriture si Aspel tente d’y accéder en même temps.

Solution Étape par Étape

Étape 1 : Fermer toutes les sessions Aspel

Avant toute réparation, assurez-vous qu’aucun utilisateur n’a Aspel SAE ou SUA ouvert sur aucun ordinateur. Si la base de données est en réseau, vérifiez sur tous les postes connectés. Les fichiers de verrouillage (.LCK) orphelins doivent être supprimés.

Étape 2 : Créer une sauvegarde complète

Copiez l’intégralité du dossier de l’entreprise vers un emplacement sûr avant de tenter toute réparation :

C:\Program Files\Common Files\Aspel\Sistemas Aspel\SAE8.00\Empresas\Empresa01\

Pour SUA, le chemin typique est :

C:\Program Files\Sua\Datos\

Étape 3 : Supprimer les fichiers d’index

Naviguez vers le dossier de l’entreprise affectée et supprimez (ne renommez pas) les types de fichiers suivants :

ExtensionType de fichierRégénéré automatiquement
.PXIndex primaireOui
.XGIndex secondaireOui
.YGIndex secondaire composéOui
.TVVue de tableOui
.LCKFichier de verrouillageOui
.VALValidationsOui

Important : Ne supprimez pas les fichiers .DB (données) ni .MB (champs mémo) — ceux-ci contiennent les informations réelles de votre entreprise.

Étape 4 : Réparer avec Database Desktop

Si la suppression des index ne résout pas le problème, utilisez Database Desktop (installé avec BDE) :

  1. Ouvrez Database Desktop depuis C:\Program Files\Common Files\Borland Shared\BDE\ ou cherchez-le dans le menu Démarrer.
  2. Allez dans File > Open > Table et sélectionnez la table endommagée (par exemple, FACTURAS.DB).
  3. Changez le type en Paradox s’il n’est pas déjà sélectionné.
  4. Si la table s’ouvre correctement, allez dans Table > Restructure.
  5. Sans apporter de modifications à la structure, cliquez sur Save. Cela force la reconstruction de tous les index.
  6. Répétez pour chaque table qui signale une erreur.

Étape 5 : Réparation avancée avec TUtility

Pour les corruptions sévères où Database Desktop ne fonctionne pas, utilisez TUtility (outil de réparation de tables Paradox) :

  1. Téléchargez TUtility depuis les sites de support Aspel ou des forums spécialisés.
  2. Exécutez TUtility en tant qu’administrateur.
  3. Sélectionnez Repair Table et naviguez vers la table endommagée.
  4. TUtility tentera de récupérer les enregistrements lisibles et de générer une table réparée.
  5. Remplacez la table originale par la table réparée.

Solution Alternative

Si les outils précédents ne parviennent pas à réparer la base de données, il existe une méthode manuelle plus agressive :

  1. Exporter les données lisibles — Utilisez Database Desktop pour ouvrir chaque table qui fonctionne encore et exportez les données au format CSV ou DBF.
  2. Créer une nouvelle base de données — Dans Aspel SAE, créez une nouvelle entreprise à partir de zéro.
  3. Importer les données — Utilisez les utilitaires d’importation de SAE pour réimporter les catalogues (clients, fournisseurs, produits).
  4. Restaurer à partir d’une sauvegarde — Si vous avez une sauvegarde récente, le moyen le plus rapide est de la restaurer. Allez dans Utilerías > Respaldo/Restauración > Restaurar dans SAE.

Pour SUA, si vous avez le fichier de sauvegarde, restaurez-le depuis Utilerías > Restaurar Respaldo. Sans sauvegarde, il faudra ressaisir les mouvements depuis le dernier bimestre présenté.

Prévention

La corruption des bases de données Paradox est évitable dans la plupart des cas en suivant ces pratiques :

  • Installez un onduleur (UPS) — Protégez l’ordinateur et le serveur contre les coupures de courant. Un onduleur de 600VA suffit pour fermer Aspel avant l’épuisement de la batterie.
  • Fermez toujours Aspel avant d’éteindre — N’éteignez jamais l’ordinateur avec Aspel ouvert. Fermez le programme via Fichier > Quitter.
  • Faites des sauvegardes quotidiennes — Configurez la sauvegarde automatique de SAE depuis Utilerías > Respaldo/Restauración. Pour SUA, sauvegardez manuellement le dossier de données au moins une fois par semaine.
  • Configurez le BDE correctement — Dans BDE Administrator, assurez-vous que NET DIR pointe vers un dossier réseau partagé et que tous les ordinateurs utilisent le même chemin.
  • Excluez les dossiers Aspel de l’antivirus — Ajoutez les dossiers de données de SAE et SUA comme exceptions dans votre antivirus pour éviter le verrouillage pendant l’analyse.
  • Envisagez la migration vers SQL Server — Aspel SAE 8.0 prend en charge SQL Server comme moteur de base de données, éliminant les problèmes de corruption BDE.

Problèmes Connexes

ErreurCause probableSolution rapide
”Table is busy”Fichier .LCK orphelinSupprimer les fichiers .LCK du dossier de données
”Could not find object”Table supprimée ou déplacéeVérifier que tous les fichiers .DB existent dans le dossier
”Invalid field name”Structure de table altéréeRestructurer la table avec Database Desktop
”Network initialization failed”BDE NET DIR mal configuréCorriger NET DIR dans BDE Administrator
”Insufficient memory”BDE SHAREDMEMSIZE trop basAugmenter SHAREDMEMSIZE à 4096 dans BDE Administrator

Résumé

  • L’erreur “Base de données corrompue” dans Aspel SAE et SUA est causée par la corruption des bases de données Paradox gérées par le BDE.
  • Les causes principales sont les coupures de courant, les fermetures forcées et les déconnexions réseau pendant les opérations d’écriture.
  • La solution la plus efficace est de supprimer les fichiers d’index (.PX, .XG, .YG) et laisser Aspel les reconstruire.
  • Pour les corruptions sévères, utilisez Database Desktop ou TUtility pour réparer les tables.
  • Prévention : onduleur, sauvegardes quotidiennes, fermeture correcte du programme et configuration adéquate du BDE.
  • À long terme, envisagez la migration vers SQL Server pour éliminer les problèmes liés à Paradox.

Articles Connexes