Atteindre de verrouillage d'enregistrement avec mssql 7 ou une version ultérieure
par programmation et de sécurité Failsafe Verrouillage des Enregistrements dans MSSQL 7
Comment aimeriez-vous être en mesure de déterminer si un enregistrement a été enfermé dans
MSSQL Server et pas ennuyeux 'Enregistrement a été modifié par un autre Utilisateur'
enfin, lorsque vous essayez de valider vos modifications?
Il est d'une approche facile (très facile), mais elle doit être mise en œuvre
par programmation.
c'est de Cette façon.
Pour tous les enregistrements que vous souhaitez verrouiller à ceci:
Créer une table temporaire globale qui est nommé d'après la table sur laquelle l'enregistrement
avec l'Id Unique de la table. Par exemple, si vous avez un
table nommée clients, avec un champ d'identifiant unique appelé Uid et que vous souhaitez verrouiller l'
enregistrement avec uid=14, créer la table à l'aide de cette requête:
& nbsp & nbsp Create table ##Customers14 (id int null)
si vous souhaitez déverrouiller le dossier il suffit de tomber de la table:
& nbsp & nbsp Drop table ##Customers14
Maintenant, imaginons qu'un autre utilisateur veut utiliser le même dossier. Son client programm
essaie de créer la même table temporaire globale, mais échoue avec une exception,
parce que les tables temporaires globales peuvent avoir le même nom. Piège à l'exception
un essayez-à l'exception de la clause et vous êtes chez free.
ASTUCES.
a)
& nbsp & nbsp Utiliser seulement pour SQLServer 7 et ci-dessus. SQL 6.5 et ci-dessous ont une manière terrible
& nbsp & nbsp de manipulation Temprorary tables qui donne beaucoup de surcharge.
b)
& nbsp & nbsp Vous pouvez créer n'importe quel type de collumn dans votre table temporaire, de sorte que vous pouvez avoir
& nbsp & nbsp info comme quoi le temps de l'enregistrement a été verrouillé et par quel utilisateur.
c)
& nbsp & nbsp Jamais utiliser cette approche si il ya une chance que quelqu'un va oublier son ordinateur
& nbsp & nbsp ouverte sur un dossier pendant des heures, et que l'ordinateur est situé disons 100 km
& nbsp & nbsp partir du serveur!!!
d)
& nbsp & nbsp Si la connexion est perdue par permet de dire qu'une erreur d'application, la table est
& nbsp & nbsp automatiquement larguaient par le Serveur SQL.
e)
& nbsp & nbsp Si l'ordinateur shutsdown par une panne de courant, le Serveur SQL server attend environ
& nbsp & nbsp 15 minutes, puis supprime la table temporaire, ou si l'ordinateur se connecte à nouveau
& nbsp & nbsp la table est larguaient automatiquement.
f)
& nbsp & nbsp Si vous ne voulez pas avoir à gérer une exception, vous pouvez également consulter les
& nbsp & nbsp existence de la table Temporaire dans la base de données.
Atteindre de verrouillage d'enregistrement avec mssql 7 ou une version ulterieure
Atteindre de verrouillage d'enregistrement avec mssql 7 ou une version ulterieure : Plusieurs milliers de conseils pour vous faciliter la vie.
par programmation et de securite Failsafe Verrouillage des Enregistrements dans MSSQL 7
Comment aimeriez-vous etre en mesure de determiner si un enregistrement a ete enferme dans
MSSQL Server et pas ennuyeux 'Enregistrement a ete modifie par un autre Utilisateur'
enfin, lorsque vous essayez de valider vos modifications?
Il est d'une approche facile (tres facile), mais elle doit etre mise en œuvre
par programmation.
c'est de Cette façon.
Pour tous les enregistrements que vous souhaitez verrouiller a ceci:
Creer une table temporaire globale qui est nomme d'apres la table sur laquelle l'enregistrement
avec l'Id Unique de la table. Par exemple, si vous avez un
table nommee clients, avec un champ d'identifiant unique appele Uid et que vous souhaitez verrouiller l'
enregistrement avec uid=14, creer la table a l'aide de cette requete:
& nbsp & nbsp Create table ##Customers14 (id int null)
si vous souhaitez deverrouiller le dossier il suffit de tomber de la table:
& nbsp & nbsp Drop table ##Customers14
Maintenant, imaginons qu'un autre utilisateur veut utiliser le meme dossier. Son client programm
essaie de creer la meme table temporaire globale, mais echoue avec une exception,
parce que les tables temporaires globales peuvent avoir le meme nom. Piege a l'exception
un essayez-a l'exception de la clause et vous etes chez free.
ASTUCES.
a)
& nbsp & nbsp Utiliser seulement pour SQLServer 7 et ci-dessus. SQL 6.5 et ci-dessous ont une maniere terrible
& nbsp & nbsp de manipulation Temprorary tables qui donne beaucoup de surcharge.
b)
& nbsp & nbsp Vous pouvez creer n'importe quel type de collumn dans votre table temporaire, de sorte que vous pouvez avoir
& nbsp & nbsp info comme quoi le temps de l'enregistrement a ete verrouille et par quel utilisateur.
c)
& nbsp & nbsp Jamais utiliser cette approche si il ya une chance que quelqu'un va oublier son ordinateur
& nbsp & nbsp ouverte sur un dossier pendant des heures, et que l'ordinateur est situe disons 100 km
& nbsp & nbsp partir du serveur!!!
d)
& nbsp & nbsp Si la connexion est perdue par permet de dire qu'une erreur d'application, la table est
& nbsp & nbsp automatiquement larguaient par le Serveur SQL.
e)
& nbsp & nbsp Si l'ordinateur shutsdown par une panne de courant, le Serveur SQL server attend environ
& nbsp & nbsp 15 minutes, puis supprime la table temporaire, ou si l'ordinateur se connecte a nouveau
& nbsp & nbsp la table est larguaient automatiquement.
f)
& nbsp & nbsp Si vous ne voulez pas avoir a gerer une exception, vous pouvez egalement consulter les
& nbsp & nbsp existence de la table Temporaire dans la base de donnees.
Atteindre de verrouillage d'enregistrement avec mssql 7 ou une version ultérieure
By commentfaire
Atteindre de verrouillage d'enregistrement avec mssql 7 ou une version ultérieure : Plusieurs milliers de conseils pour vous faciliter la vie.