Bonjour,
Nous utilisons 2 bases de données Sql Server 2008 pour notre application de gestion.
Nous utilisons les transactions pour nous assurer de l'intégrité de la base de données. Etant donné que notre application est multi utilisateurs, notre souci est de garantir l'obtention de données pour les différents utilisateurs.
Souci principal par l'exemple :
Un utilisateur A effectue une sortie de stock (quantité 10).
Le stock avant la modification est de 100.
Utilisateur A valide sa sortie :
- mise en place d'une transaction
- mise à jour de différentes tables par des INSERT (table mouvements de stocks) et UPDATE (table ARTICLE) with UPDLOCK
Problème : si un utilisateur B essaie de lire par un SELECT la fiche en question, => "délai de verrou dépassé"
Une fois que l'utilisateur A valide la transaction, l'enregistrement est à nouveau disponible
Si nous ne bloquons pas l'enregistrement, l'utilsiateur B peut aussi intervenir dessus et bonjour le rendu ...
Voulant garder l'intégrité des données donc les transactions, comment gérer de manière efficace et sans contrainte pour les postes annexes les verrous sur les enregistrements ?
Doit-on passer par d'autres types de verrous ?
Merci de vos réponses.
Jm
Partager