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

MS SQL Server Discussion :

comment veroiuller une table


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Points : 12
    Points
    12
    Par défaut comment veroiuller une table
    Bonjour

    j'ai mon application vb " gestion commerciale " qui accede a une base de données sql server

    cette application est installée sur 3 PC

    comment faire pour verouiller -par exemple- une facture pour le commercial 1 si elle est utilisée par le commercil2( utiliser pour modification )
    merci pour votre aide

  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 917
    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 917
    Points : 51 693
    Points
    51 693
    Billets dans le blog
    6
    Par défaut
    SQL Server s'occupe de tout cela tout seul. Cela s'apelle un SGBDR... Il y a donc des transactions. Nous ne sommes plus à l'âge du Cobol et de la gestion de fichiers...

    Lisez quelques uns de mes articles sur les techniques des SGBDR avant de faire des bétises !!!
    http://sqlpro.developpez.com/cours/sqlaz/techniques/


    A +

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    bonjour
    merci pour votre reponse et immediatement je vais impimer le tutoriel pour le lire --merci --

    alors mon patron ma demander cela :
    quand je modifie une facture : par exemmle je suis entrain de modifier le nom de client ..ok et au meme temps il ya un autre commercial qui modifie la meme facture par exemple sa date ... alors pour ce dernier commercial je dois lui afficher un message comme quoi '' la facture est en mise a jour veuillez patientez"" ... mais le probleme pour moi ................ comment savoir si cette facture est utilisé maintenent ..... est ce qu'il ya des tests a faire au niveau de mon sgbd sql sercer et merci ....

    bonne suite

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 917
    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 917
    Points : 51 693
    Points
    51 693
    Billets dans le blog
    6
    Par défaut
    C'est possible, mais ce mode de gestion antique est contraire aux SGBDR client/Server, revenez donc aux fichiers COBOL ! Vouloir faire du verrouillage pessimiste dans SQL Server (ou Oracle ou IBM DB2) est extrêmement pénalisant pour le serveur.

    Le moyen le plus simple est de démarrer une transaction explicite au niveau sérializable sur le poste client et la finaliser quand la mise àjour est terminée.
    Mais si votre utilisateur va prendre un café ou si le code part en bug, vous pouvez vous retrouver devant des blocages interminable. Si telle est votre volonté alors prévoyez un poste d'adminisrateur de bases de données qui connait bien son boulot, il aura du pain sur la planche, et donnez lui un bon salaire...

    A +

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    bonjour
    merci pour vos conseils tres prececieux ....
    je n'ai pas compris cela : de démarrer une transaction explicite au niveau sérializable sur le poste

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 917
    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 917
    Points : 51 693
    Points
    51 693
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
    BEGIN TRANSACTION
    ...
    ...
    ...
    COMMIT TRANSACTION
    A +

Discussions similaires

  1. Comment retourner une table !
    Par ptidoudou02 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 14/12/2004, 14h46
  2. [SWT] Comment remplir une Table ?
    Par simon77 dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 23/08/2004, 10h31
  3. comment filtrer une table avec deux criteres càd 2 colonnes
    Par athmane2dz dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2004, 15h25
  4. Comment créer une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2004, 20h21
  5. Comment Copier une table dans un fichier?
    Par thx2003 dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/12/2003, 12h09

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