|
doublon sur identifiant automatique |
Iniciado por Christian SY, 10,dic. 2015 13:54 - 9 respuestas |
| |
| | | |
|
| |
Miembro registrado 98 mensajes |
|
Publicado el 10,diciembre 2015 - 13:54 |
Bonjour,
j'ai un problème sur un fichier avec identifiant automatique. Un message s'affiche comme quoi il y a un doublon sur un identifiant automatique, ce qui ne devrait pas se produire en théorie. En effet, cet identifiant est calculé automatiquement par le système HFSQL et nous n'avons pas la gestion de cet identifiant. Comment cela est-il possible ? Même en changeant le numéro d'identifiant (en rouge) lors de l'affichage de la fenêtre d'erreur, rien n'y fait. Ensuite, après modification, une fenêtre s'affiche avec le message suivant : Que s'est-il passé ? Des doublons ont été détectés pour la clé <F_ident> sur le fichier X. Code errreur : 70010 Niveau : erreur non fatale (EL_ONRETURN) Dump de l'erreur du module WD190HF.DLL (19.0.102.2) Identifiant des informations détaillées (.err) : 70907 Informations de debogage : IEWDHF=30.18 Module=<WDHF> Version <19.0.102.2>
La réindexation ne change rien, l'incrémentation automatique de l'identifiant semble bloquée (au n° 7917 dans le 2ème cas) J'ai eu ce problème sur 2 sites différents sur des installations en réseau avec le même nom de fichier. L'erreur se produit sur un poste client.
Quelqu'un a-t-il une idée ?
-- Christian SY |
| |
| |
| | | |
|
| | |
| |
Publicado el 07,enero 2016 - 13:47 |
Bonjour,
Je rencontre le même problème depuis fin décembre alors que nous n'avons pas modifié notre logiciel.
Avez-vous pu le solutionner? Comment?
Bonne journée |
| |
| |
| | | |
|
| | |
| |
Publicado el 07,enero 2016 - 19:10 |
Non, j'ai lancé WDoptimiseur pour réparer. Ceci dit ce n'est pas normal qu'un identifiant automatique soit en doublon vu qu'il est par définition automatique et non gérable par programmation. Encore une bizarerie !!!!! |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 119 mensajes Popularité : +1 (1 vote) |
|
Publicado el 07,enero 2016 - 21:03 |
Bonsoir J'ai rencontré une fois ce probleme sur une application mais en fait l'erreur venait de moi J'avais un champ telephone sur lequel j'effectuai un hlitrecherchepremier pour savoir si je n'avais psa créé ce numero. Du coup mon hraz d'avant la saisi etait annulé et le hajoute signalait donc le doublon. Ce n'est certainement pas çà mais on ne sait jamais
Cordialement José |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 1.623 mensajes Popularité : +100 (114 votes) |
|
Publicado el 07,enero 2016 - 21:34 |
Bonsoir !
Oui je vous conseille de tester la valeur de F_ident AVANT le Hajoute : Il devrait etre vide ! S'il ne l'est pas, il y a un soucis dans le code (peut etre un EcranVersFichier mal placé..) |
| |
| |
| | | |
|
| | |
| |
Publicado el 07,enero 2016 - 22:50 |
Bonjour
Voici un code que j'avais trouvé il y a longtemps je ne sais plus où... Je m'en suis servi une ou deux fois. Il avait réglé mes problèmes mais ce qui était sûr, le problème venait de moi...et pas de Windev...
Appel de la fonction où Clé doit être unique (ça tombe bien). Dis nous si cela résout ton problème. cdt ElPato
(à essayer sur une copie du fichier !)
DoublonRepare(NomDuFichierARéparer,Clé,RépertoireDuFichier) HRéindexe(NomDuFichierARéparer, hNdxSuppression)
PROCEDURE DoublonRepare(nomfic, nomIdSlt, nomrep) Msg est une chaîne Sablier(Vrai) HTransactionDébut("TRS"+nomfic) HChangeRep(nomfic,nomrep)
DernierIdFichier est un entier DernierIdCalculé est un entier
HLitDernier(nomfic, nomIdSlt) DernierIdFichier = {nomfic + "." + nomIdSlt,indRubrique} Msg = "Dernier ID connu " + DernierIdFichier
HAjoute(nomfic,hIgnoreDoublon+hIgnoreIntégrité+hAffecteParcours) DernierIdCalculé = {nomfic + "." + nomIdSlt,indRubrique}
SI DernierIdCalculé < DernierIdFichier ALORS Msg = Msg + RC + "Problème détecté, correction en cours" //DélaiAvantFermeture(500) info(Msg) //maj de la valeur de la rubrique ID auto {nomfic + "." + nomIdSlt,indRubrique} =DernierIdFichier + 1 //Maj dans l'en-tête du fichier HModifie(nomfic,hNumEnrEnCours,hIgnoreDoublon+hIgnoreIntégrité+hFixeIdAuto+hAffecteParcours) SINON Msg = Msg + RC + "Pas de problème d'identifiant" //DélaiAvantFermeture(500) info(Msg) FIN // suppression de l'enregistrement créé par Hajoute HSupprime(nomfic)
// termine la transaction HTransactionFin() //Msg = Msg + RC + "Traitement terminé pour le fichier "+nomfic+" !"+rc+"Une réindexation des fichiers va commencer...." Sablier(Faux)
//DélaiAvantFermeture(0) |
| |
| |
| | | |
|
| | |
| |
Publicado el 08,enero 2016 - 09:40 |
Salut,
oui c'est bien ta procédure mais c'est sur une clé unique et non sur un identifiant automatique. Avant ton HAjoute, comment peux-tu tester l'identifiant et l'incrémenter ? En règle générale, les doublons sont gérés en amont dans toutes les applications, en tout cas les miennes oui. Donc il ne devrait pas y avoir de problème de doublon (sur une clé unique) si c'est bien géré. De plus dans HAjoute, l'identifiant est incrémenté automatiquement. Je pense que de la part de PCSOFT, il devrait exister une procédure automatique qui répare les identifiants automatiques en cas de doublons. Ce n'est pas à nous, programmeurs, de "bidouiller" une procédure à ce sujet. |
| |
| |
| | | |
|
| | |
| |
Publicado el 21,abril 2017 - 23:11 |
Bonjour / WIndev 19 Plusieurs centaines d'utilisateurs utilisent mon logiciel. Certaines bases comptes plusieurs millions d'enregistrement Parfois, la saisie se bloque pour 'faux' doublon
Je rencontre le même problème sur un autre logiciel contenant quelques milliers d'enregistrement
J'ai supprimé mes index et les ai recréé ; idem
J'ai transposé ma base sur un autre système/micro Idem
Si je fais une procédure d'export et de ré-import, j'obtiens une base identique et ça fonctionne !!!! Merci pour votre avis Cordialement |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.566 mensajes Popularité : +222 (260 votes) |
|
Publicado el 24,abril 2017 - 16:08 |
Changer de sgbd ?
-- Cordialement,
Philippe SAINT-BERTIN Géode Informatique |
| |
| |
| | | |
|
| | |
| |
Publicado el 24,abril 2017 - 16:56 |
Bonjour,
par expérience, ce que tu décris est un index cassé soit par un problème matériel lors d'une écriture, par exemple coupure de courant, réseau, etc. soit par l'usage de HF classique en mode réseau/partage de fichier et donc les problèmes d'oplock bien connu qui vont avec.
Pour réparer, il faut supprimer l'index et le recréer, soit utiliser le mode 5 (de mémoire) de réindexation de l'utilitaire fourni, soit encore faire le travail par code avec un hajoute en mode hfixeIDAuto suivi d'un hdelete de cet enreg
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 4/21/2017 à 3:11 PM, DAVID Gilles a écrit :
Bonjour / WIndev 19 Plusieurs centaines d'utilisateurs utilisent mon logiciel. Certaines bases comptes plusieurs millions d'enregistrement Parfois, la saisie se bloque pour 'faux' doublon
Je rencontre le même problème sur un autre logiciel contenant quelques milliers d'enregistrement
J'ai supprimé mes index et les ai recréé ; idem
J'ai transposé ma base sur un autre système/micro Idem
Si je fais une procédure d'export et de ré-import, j'obtiens une base identique et ça fonctionne !!!! Merci pour votre avis Cordialement |
| |
| |
| | | |
|
| | | | |
| | |
|