OVH Cloud OVH Cloud

[WD10] Gestion des bloquages

15 réponses
Avatar
wd_newbie
Bonjour,

j'ai une petite question, en lisant le manuel "Programmation" de WD10,
j'ai lu que, si on veut faire tourner son appli en r=E9seau ( avec
partage des fichiers HF , pas en Client/Serveur) il faut :
- d=E9clarer le mode de blocage multi
- g=E9rer les acc=E8s lors des lectures =E9critures

Faut-il tester le blocage sur chaque lecture ecriture (HErreurBlocage
()) ??

J'ai d=E9cortiqu=E9 un peu l'exemple "WD qui bloque" et je prends peur !!
L'appli que je suis en train de refaire sous WD, peut =EAtre utilis=E9e
(doit) en r=E9seau avec au max 2-3 machines. Je ne pensais pas prendre 3
mois pour g=E9rer les acc=E8s :-)

Comment g=E9rez-vous ces acc=E8s concurentiels ? Y'a t'il une (des)
bonne(s) fa=E7on de faire ??

Merci de votre aide !!


Olivier

5 réponses

1 2
Avatar
Romain PETIT
Roumegou Eric a pensé très fort :
Comme je sais que tu n'es pas très coutumier des fautes d'orthographe, cela
m'a interpellé d'où ma petite recherche.



Les 2 graphies sont tolérées (pour une fois).

Par contre, blocage s'écrit plutôt avec c... (la graphie avec "qu" a pu
exister mais n'est plus considérée comme correcte), je corrige donc le
titre initial... -:)

A+

PS : n'essayez pas de me tendre des pièges, je fais *aussi* des fautes,
comme tout le monde...

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
wd_newbie
On 6 fév, 17:58, Romain PETIT wrote:
Roumegou Eric a pensé très fort :
(cliquez sur le lien ci-dessus pour me contacter en privé)



merci pour toutes ces corrections orthographiques :-) , mais juste
encore une petite question :
- j'ai fait comme exliqué par Romain (que je remercie encore au
passage) une petite appli qui ne comporte qu'une table et un bouton :

<code>
LIB_Libellé1 = "Blocage du n° " + membre.Numero_membre
HBloqueNumEnr(Membres,hNumEnrEnCours,hBlocageEcriture)
</code>

et quand j'essaie de faire un Hmodifie sur l'enregistrement bloqué,
j'ai bien une erreur Herreurblocage( ) (avec un c..) mais elle ne
survient que 10 à 15 sec après le clic sur "Modifier", est-ce que ce
délai est normal ?

Par contre au moment ou je clique sur HdebloqueNumEnr() , les modifs
sont acceptées.

Y'a t'il un moyen de réduire ce délai ? , je n'ai pas trouvé de
HEstBloqué(Numenr) ou un truc comme cela.

Olivier
Avatar
JeAn-PhI
wd_newbie vient de nous annoncer :
On 6 fév, 17:58, Romain PETIT wrote:
Roumegou Eric a pensé très fort :
(cliquez sur le lien ci-dessus pour me contacter en privé)



merci pour toutes ces corrections orthographiques :-) , mais juste
encore une petite question :
- j'ai fait comme exliqué par Romain (que je remercie encore au
passage) une petite appli qui ne comporte qu'une table et un bouton :

<code>
LIB_Libellé1 = "Blocage du n° " + membre.Numero_membre
HBloqueNumEnr(Membres,hNumEnrEnCours,hBlocageEcriture)
</code>

et quand j'essaie de faire un Hmodifie sur l'enregistrement bloqué,
j'ai bien une erreur Herreurblocage( ) (avec un c..) mais elle ne
survient que 10 à 15 sec après le clic sur "Modifier", est-ce que ce
délai est normal ?

Par contre au moment ou je clique sur HdebloqueNumEnr() , les modifs
sont acceptées.

Y'a t'il un moyen de réduire ce délai ? , je n'ai pas trouvé de
HEstBloqué(Numenr) ou un truc comme cela.

Olivier



oui c'est normal car il fait plusieurs essais (50 par défaut)

il faut limite le nb d'essai voir H.NbEssais & H.NbEssaisLecture

--
Cordialement JeAn-PhI
Avatar
wd_newbie
merci , maintenant les délais sont acceptables.

Olivier
Avatar
patrice
"wd_newbie" a écrit dans le message de
news:
merci , maintenant les délais sont acceptables.



attention: le nb d'essai doit être laissé à une valeur haute si l'on a un
fiche mis à jour de facon répétée et rapide par plusieurs users.

par exemple, un fichier de total d'evenement par jour: une fiche
(date,nb_event), date clé unique

algo (en transaction) :
1/ ajouter evenement
2/ chercher la fiche dateÚte_evenement et la vérouiller
3/ si trouvé: nb_event=nb_event+1, enregister
4/ si pas trouvé, créer une fiche (date_evenement,1)

si plusieurs utilisateurs font ca en meme temps, il y a fort à parier que le
vérouillage echouera et que la transaction echouera
c'est le but du nombre d'essai.
si ca marche pas une fois, on attend 1 peu et on réessaye au cas où le
verrou précédent n'existe plus.
et plus il essaye, et plus la transaction va finir par passer
1 2