Porbleme de Update

Résolu
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006 - 9 sept. 2006 à 21:24
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006 - 16 sept. 2006 à 17:36
salut tout le monde
Voila j'ai une base de donnee sous sql server 2000 installe dans un serveur et il y'a 4 ordinateur qui se connecte a cette base.
Ce que je veut faire s'est comment arriver a gere la base pour que deux personne qui consultent la meme table ne fassent pas exemple une modification en meme temps.
Comment faire pour avertir les autres personne qu'il y'a quelqu'un qui est en train de modifier dans cette table ou bien bloque la table.
J'ai cherche dans le forum mais j'ai rien trouve
Merci a vous

6 réponses

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
10 sept. 2006 à 13:29
Hello,

SQL Server gère ce genre de chose seul, il est impossible que le même enregistrement soit modifié par les 4 en même temps...

Si celà arrive (qu'il 4 utilisateur effectuant 4 update sur le même enregistrement) les UPDATE qui passeront seront executés les uns à la suite des autres... En fait le premier verouille et fait sa modification, donc les suivant attendent, le premier libère le verrou quand il a terminé et c'est au tour du second.

Les cas où celà pourrait se produire c'est par exemple la consultation d'une fiche dans une application, ouverte par 2 ou 3 personnes, et toutes ces personnes la modifie et puis l'envoie.

Pour gérer ce genre de chose, on peut vérifier au moment de la modification que les données n'ont pas déjà changés (à faire au niveau de l'application). On peut verouiller l'enregistrement dès qu'il est lu, etc.

Autre précision, en général on gère çà plutôt à l'enregistrement qu'à la table sinon c'est vraiment la galère pour les accès concurrents.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
3
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
11 sept. 2006 à 16:38
Plutôt la seconde mhéthode :
lors du chargements tu as toutes les valeurs d'origines
avant de sauveguarder tu vérifie si les données dans l'enregistrement on
changer par rapport au valleur originale que tu as charger.

si les données on changé a toi de voir :

soit tu écrit par dessus soit tu annule ton enregistrement 
soit (le mieux tu demande a l'utilisateur ce qu'il faut faire en lui affichant les donnée orriginal, ses modification et les données actuel,

et si tu présente ca en tableau

ex
==========================================

NomChamp   Origine   Modif   Courant   Autre
==========================================
tata       120       125     121
...
==========================================

tu laisse l'utilisateur cliquer sur la case de la donnée a enregistrer
et si il clique sur la case autre, il peux directement indiquer une valeur.
(Enfin bon c'est pas forcement toujours applicable et ca demande un peu de bouleau mais
quand on peu le faire c'est bien pratique)
3
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
10 sept. 2006 à 14:15
Merci pour ta reponse skweeky


Ma base est effectivement gerer par une application faite sous vb 2003 ce que je veut savoir si au cas ou deux personne charge le meme enregistrement et font des modification la dessus qu'elle est la meilleur facon de gerer une telle situation.


Faire une procedure stockee,tiggers ou faire le code d'update dans l'application et verifier si l'enregistrement n'as pas subit de modification.
Merci pour tout


 
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
13 sept. 2006 à 15:03
Merci a vous pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
16 sept. 2006 à 14:47
c'est pas en rapport direct mais ca peut aussi t'intérésser :



http://www.sqlfr.com/infomsg_PBS-CONCEPTION-HISTORISATION-BASE-DONNEE_811791.aspx
0
Boudchiche Messages postés 59 Date d'inscription vendredi 8 octobre 2004 Statut Membre Dernière intervention 25 novembre 2006
16 sept. 2006 à 17:36
Merci a vous Malkuth s'est tres interessant et s'est tres gentil de votre part encore une fois merci
Bonne journee
0
Rejoignez-nous