Bonjour,
Je souhaiterai ouvrir une table en exclusif à partir de vb.net mais je ne connais pas la raquete pour le faire. J'ai essayé avec 'LOCK nomTable IN ACCES EXCLUSIF MODE' mais ne fonctionne pas.
D'avance merci
OLBI
Version imprimable
Bonjour,
Je souhaiterai ouvrir une table en exclusif à partir de vb.net mais je ne connais pas la raquete pour le faire. J'ai essayé avec 'LOCK nomTable IN ACCES EXCLUSIF MODE' mais ne fonctionne pas.
D'avance merci
OLBI
Utilisez la clausedans vos requêtes.Code:WITH (TABLOCK)
Ca ne fonction pas aussi bien dans vs2005 que dans sql server 2005
'SELECT * FROM maTable WITH TABLOCK'
Syntaxe incorrecte sur TABLOCK :(
Parce que TABLOCK doit être entre parenthèses. Faites un minimum d'effort de documentation.... L'aide en ligne de SQL Server est très bien faite !
Autant pour moi!!!
Quelle est la différence avec un UPDLOCK.?
SELECT * FROM maTable WITH (TABLOCK)
SELECT * FROM maTable WITH (UPDLOCK)
Tout les deux ont le meme effet
Utilisez TABLOCKX pour obtenir un verrou de table exclusif.
TABLOCK effectue un shared lock de la table.
UPDLOCK effectue un update page lock plutôt qu'un shared page lock.
Quel est votre but pour vouloir verouiller des tables ?
SQL Server les verouillent toutes seule et automatiquement dès qu'une mise à jour est nécessaire par exemple...
En vérouillant manuellement vous risquez plutôt de tuer le serveur !
De plus le verrous TABLOCK que l'on vous a donné n'est pas exclusif et n'est posé que le temps de la transaction, qui, je le présume, doit être implcite dans votre cas, donc ne sert à rien !
A +