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 :

Faire un Lock sur une table pendant l'exec d'un DTS


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2002
    Messages : 88
    Points : 97
    Points
    97
    Par défaut Faire un Lock sur une table pendant l'exec d'un DTS
    Bonjour,

    J'ai créé un lot DTS qui fait ceci :

    1-Efface les entrées d'un table
    2-Importe dans cette table un fichier .txt

    Je voudrais qu'on ne puisse pas faire de SELECT sur cette table pendant l'exécution de ce DTS.

    Comment puis je faire ?

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2002
    Messages : 88
    Points : 97
    Points
    97
    Par défaut
    Bon ben je ne sais pas si je me suis bien fait comprendre...

    Je voudrais faire un truc comme ça :

    1- Lock de la "maTable"
    2- delete from maTable
    3- Insertion dans "maTable" à partir du fichier texte
    4- Unlock de "maTable"

    Mais d'après ce que j'ai compris on ne peut faire des Lock que pour la durée d'une instruction SQL. D'où ma question...
    Please help...

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Dans le cours : http://sgbd.developpez.com/cours/sqlserver2000/

    il est question de niveau d'isolation dans le chapitre Verrous

    Cela ne répondrait-il pas à ton problème ?

  4. #4
    Membre régulier
    Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2002
    Messages : 88
    Points : 97
    Points
    97
    Par défaut
    Merci de ta réponse ! (Il est bien fait ce cours au passage )

    Donc si je fais ça : (je rappelle que je suis dans un DTS)

    1-BEGIN TRAN
    2-SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
    3-DELETE FROM maTable
    4-Importation du .txt dans maTable
    5-COMMIT TRAN
    Est ce que je suis sûr qu'un "SELECT * FROM maTable" ne pourra pas intervenir entre l'étape 2 et 3 ?
    Ou bien faut - il que ce SELECT fasse parti d'une transaction qui elle aussi a "ISOLATION LEVEL SERIALIZABLE" ?

    dsl... je suis pas fortiche en SQL et je voudrais être sûr de bien comprendre...

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Attention, les lockes empéchent l'écriture et non la lecture... rien n'empêche les SELECT pendant le transaction

  6. #6
    Membre régulier
    Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2002
    Messages : 88
    Points : 97
    Points
    97
    Par défaut
    Bon ben tt pis alors, je vais me débrouiller autrement, mais ce je suis assez déçu qu'il n'y est pas de solutions à ce type de pb....
    Merci de ton aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD14] Comment faire un filtrage sur une table
    Par noviceman1 dans le forum WinDev
    Réponses: 22
    Dernier message: 05/01/2012, 13h28
  2. Réponses: 2
    Dernier message: 03/09/2009, 16h02
  3. Réponses: 1
    Dernier message: 27/08/2009, 21h45
  4. Faire un Calcul sur une table (en groupant)
    Par suistrop dans le forum SAS Base
    Réponses: 3
    Dernier message: 07/11/2008, 14h49
  5. comment gérer plusieurs locks sur une table?
    Par charluber dans le forum Oracle
    Réponses: 4
    Dernier message: 18/04/2006, 21h28

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