IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Verrouillage d'un enregistrement pour modification


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2018
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Octobre 2018
    Messages : 87
    Points : 51
    Points
    51
    Par défaut Verrouillage d'un enregistrement pour modification
    Bonjour,
    J'ai commencé a développé un petit module de facturation. Mon souci est que je cherche un moyen de verrouillé un enregistrement de la base si l'un des utilisateurs est en cours de modification/consultatiob.
    Je m'explique, si un utilisateur commence a consulter une fiche client pour la modifier, je veux que celle ci soit verrouillé pour tout les autres utilisateurs jusqu'a que le premier utilisateur quitte la fiche.
    d'habitude je créé une table et j'insère l'id de l'enregistrement qui est en cours de consultation et je supprime l'id a la fermeture de la fiche.
    j'en suis sur qu'il existe d'autres moyens sur sql server qui sont plus faciles et professionnels

    Merci
    A+

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par erpWorld Voir le message
    Bonjour,
    J'ai commencé a développé un petit module de facturation. Mon souci est que je cherche un moyen de verrouillé un enregistrement de la base si l'un des utilisateurs est en cours de modification/consultatiob.
    Je m'explique, si un utilisateur commence a consulter une fiche client pour la modifier, je veux que celle ci soit verrouillé pour tout les autres utilisateurs jusqu'a que le premier utilisateur quitte la fiche.
    d'habitude je créé une table et j'insère l'id de l'enregistrement qui est en cours de consultation et je supprime l'id a la fermeture de la fiche.
    j'en suis sur qu'il existe d'autres moyens sur sql server qui sont plus faciles et professionnels

    Merci
    A+

    C'est une stratégie imbécile qui contrevient aux principes mêmes des SGBD Relationnels. En effet plusieurs questions et remarques se posent :
    1) vous dites "si un utilisateur commence a consulter une fiche client pour la modifier" comment sait-on, lorsque l'utilisateur lit une fiche qu'il va la modifier (analyse mentale du cerveau de l’utilisateur ? Boule de cristal magique ? Appel à la lampe d'Alladin ???)
    2) vous dites "je veux que celle ci soit verrouillé pour tout les autres utilisateurs jusqu’à que le premier utilisateur quitte la fiche" Verrouillée comment ? En mode exclusif ? (aucun utilisateur ne peut ni lire ni écrire). Que faut-il faire s'il y a déjà des utilisateurs qui lisent la même information ?
    3) comment détectez vous que "... le premier utilisateur quitte la fiche" ? Par un événement ? Et s'il ferme son application sans quitter la fiche ? Et si le programme crash ? Et si le PC tombe en panne ? Et si le réseau est coupé ???
    4) cette façon de faire "d'habitude je créé une table et j'insère l'id de l'enregistrement qui est en cours de consultation et je supprime l'id a la fermeture de la fiche." était celle des systèmes à base de fichier des années 50/60. On est passé au relationnel notamment pour contourner cela, ce qui posait des problèmes de disponibilité, concurrence et performance.....

    Alors, ne réinventez pas la roue et laissez faire le SGBDR !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre habitué
    Homme Profil pro
    BI Expert
    Inscrit en
    Décembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : BI Expert

    Informations forums :
    Inscription : Décembre 2005
    Messages : 181
    Points : 139
    Points
    139
    Par défaut
    T'as pas à chercher midi aux années 40; premier arrivé premier servi.

    si l'utilisateur ouvre une fiche et qu'il la modifie faut que intercepte l'evenement par le clique de l'application Save, enregistrer, valider....
    et à ce moment la tu execute ton update. autrement dit tu n'a rien à faire le SGBDR sait très bien gérér cela!

  4. #4
    Membre habitué Avatar de i.chafai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Décembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 117
    Points : 167
    Points
    167
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    était celle des systèmes à base de fichier des 50/60
    Vous avez cité déjà tout les problèmes de Sage 😀😂
    Qui était a l'origine basé sur des fichiers et qu'il continu a suivre cette méthode

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/04/2010, 10h10
  2. Réponses: 3
    Dernier message: 11/12/2009, 09h16
  3. Réponses: 2
    Dernier message: 11/11/2008, 00h44
  4. Réponses: 0
    Dernier message: 08/11/2008, 17h19
  5. Réponses: 8
    Dernier message: 28/03/2006, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo