PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV (versiones precedentes) → Cherche quelqu'un pou purger une table hyperfile
Cherche quelqu'un pou purger une table hyperfile
Iniciado por Erwan, 24,ago. 2020 17:33 - 13 respuestas
Publicado el 24,agosto 2020 - 17:33
Bonjour,

Nous utilisons un logiciel développé il y a + de 15 sur Windev. Il utilise des bases hyperfile
Une des tables n'a plus de place. J'ai essayé de la compacter avec WDOutils mais toujours le même resultat





Quelqu'un pourrait t'il m'effacer les enregistrement antérieure à une certaine date?

Merci
Miembro registrado
3.883 mensajes
Popularité : +227 (347 votes)
Publicado el 24,agosto 2020 - 18:33
Bonjour,
DELETE FROM
PMVTSTO
WHERE
PMVTSTO.DATEMVT<{pDate}

C'est radical par contre, il faut voir au niveau des liaison. Si le contraintes ont été mal défini (pas de suppression en cascades,) Il faut se faire la suppression des enregistremant relié
Avant la suppression des enregistrement, Il faut rechercher au niveau des tables ou la PK de PMVTSTO est FK et supprimer les enregistrements correspondants avec le mêmes contraintes que précédemment.

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
3.883 mensajes
Popularité : +227 (347 votes)
Publicado el 24,agosto 2020 - 19:03
Je développe la 2° partie.
Ton MLD ressemble à ça :



La suppression d'un enregistrement de PMVTSTO va se répercuter sur Ligne_Charge (via FK_PMVTSTO) et sur Toto (via FK_Ligne_Charge).
Les enregistrement de Ligne_Charge concernés peuvent s'obtenir par la requête : REQ_LigneChargeConcernés
SELECT
PK_Ligne_Charge
FROM
Ligne_Charge
WHERE
FK_PMVTSTO IN
(
SELECT
PK_PMVTSTO
FROM
PMVTSTO
WHERE
PMVTSTO.DateMVT<{pDate}
)

De même les enregistrement de toto concernés peuvent s'obtenir par la requête
SELECT
PK_Toto
FROM
Toto
WHERE
FK_Ligne_Charge IN REQ_LigneChargeConcernés

J'ai simplifie le code pour faciliter la lecture, mais dans la réalité, REQ_LigneChargeConcernés doit être remplacé par son code.
Pour supprimer les enregistrements, il suffit de remplacer le SELECT âr un DELETE FROM.
Il faut commencer par toto, puis Ligne_Charge et enfin PMVTSTO

--
Il y a peut être plus simple, mais, ça tourne
Publicado el 25,agosto 2020 - 09:06
Bonjour,

Merci pour votre retour. Je n'ai malheureusement pas Windev surtout que le logiciel a été réalisé il y a très longtemps.

Je cherche quelqu'un qui pourrait le faire pour moi. Rémunération possible

Merci
Miembro registrado
4 mensajes
Publicado el 25,agosto 2020 - 10:32
C'est de l'hyperfile 5.5 à mon avis
Miembro registrado
3.883 mensajes
Popularité : +227 (347 votes)
Publicado el 25,agosto 2020 - 12:45
En effet là, ça se complique.
Il faut déjà le .wdd mais surtout son MDP.

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
4 mensajes
Publicado el 25,agosto 2020 - 13:26
Oui j'ai le WDD, j'arrive a voir les données via WDMAP mais il me manque WDSQL ou Windev pour requeter desssus
Miembro registrado
940 mensajes
Popularité : +66 (68 votes)
Publicado el 25,agosto 2020 - 13:31
bonjour Erwan,

Voroltinquo vous à déjà indiqué les "prérequis", mais je reviens juste sur un point, vous indiquez : 'une des tables n'a plus de place'

Vue votre capture d'écran, votre fichier PMVTSTO n'a pas atteint ces limites en terme de taille ( 2 giga max pour le fichier FIC ), il s'agirait donc de la limite du nombre d'enregistrement ? ou alors une limite imposée par votre logiciel ?


mais concernant Windev, j'ai ressorti notre vieux coucou sous XP avec Windev 5.5 et voici l'extrait de la doc :


----------------------------------------------------------------------------
Fichier de donnes, d'index et mmo au format Hyper File

Taille maximale du fichier de donnes (*.FIC): 2 Giga octets
Taille maximale du fichier d'index (*.NDX): celle disponible sur le disque
Taille maximale d'un fichier de transaction : celle disponible sur le disque
Taille maximale d'un fichier journal (*.JNL): celle disponible sur le disque
Nombre maximum de fichiers ouverts simultanément: 20 (WinDev gère la fermeture et l'ouverture automatique des fichiers)
Nombre maximum d'enregistrements bloqués par fichier: 16.000

Nombre maximum d'enregistrements par fichier: dépend de la longueur d'un enregistrement (pour un enregistrement de 20 octets : 95 millions d'enregistrements maximum, pour un enregistrement de 4.096 octets : 500.000 enregistrements maximum)
Longueur maximale d'un enregistrement: 4.096 octets
Longueur minimale d'un enregistrement: 20 octets
Nombre maximum de cls par fichier: 23
Taille maximale de l'union de toutes les clés d'un fichier:
500 octets pour les programmes en C et VB

255 octets pour les programmes en Turbo Pascal pour Windows
1.500 octets pour les programmes en W-Langage
Nombre maximum de rubriques par fichier: 500
Nombre maximum de liaisons par fichier: 100
Taille maxi d'une cl compose = celle d'une cl simple: 100 octet
Miembro registrado
4 mensajes
Publicado el 25,agosto 2020 - 13:45
Bonjour Christophe,

Merci pour votre retour. Je n'ai pas les outils pour requeter sur la base malheureusement. Pas de message exacte mais je sais que lors du traitement c'est PMVSTSO qui pose problème. A mon avis c'est le nombre d'enregistrement.Je l'ai ré-indexé mais c'est la même chose. Si vous avez le logiciel pouvez vous purger la table? je vous transmets les fichier + l'analyse.
Miembro registrado
940 mensajes
Popularité : +66 (68 votes)
Publicado el 25,agosto 2020 - 14:10
en fait j'ai lu la doc en diagonale, mais la limite du nombre d'enregistrement est liée à la limite des 2Go.

Il peu y avoir un soucis sur des clés id auto qui serait cassées.

Mais vous pouvez m'envoyez votre fichier +WDD sans soucis

=> service.developpement ( arobase ) delfi-informatique.fr

Avez vous passé un coup de WDOptimiseur (option 5) ?
Miembro registrado
4 mensajes
Publicado el 25,agosto 2020 - 14:28
Merci mail envoyé. Je n'ai que 2 outils sous la main malheureusement WDMAP et WDOUTILS
Publicado el 25,agosto 2020 - 15:24
Erwan a écrit :
> Oui j'ai le WDD, j'arrive a voir les données via WDMAP mais il me manque WDSQL ou Windev pour requeter desssus

Si vous avez le WDD et si WDMAP affiche le fichier, vous pouvez supprimer tout ce que vous voulez.
Miembro registrado
3.883 mensajes
Popularité : +227 (347 votes)
Publicado el 26,agosto 2020 - 07:21
Le CCHFSQL est redistribuable et lui comporte un éditeur de requêtes

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
283 mensajes
Popularité : +4 (4 votes)
Publicado el 14,octubre 2020 - 01:47
je ne me souviens plus pour des anciennes versions de WDMAP, mais dans les dernières il est tout à fait possible de faire des requetes SQL
Il faut aller dans "Affichage" puis "Sélection d'enregistrements" et enfin "Requetes SQL" ou alors faire CTRL+R