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

Développement SQL Server Discussion :

Evenement Insert,Update,Delete sur une table


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Evenement Insert,Update,Delete sur une table
    Bonjour

    Je travalle en .NET cSharp et j'aimerais recevoir un évennement si certaines tables sont Modifiées (MSSS 2008)

    J'essaye de googeller un peu mais ce que je trouve ne me donne pas encore une idée tres claire de la chose

    Entre autre
    Niveau DB

    Niveau C#

    - Est il possible de limiter les event a certaines tables seulement ?
    - Pourquoi dans l'exemple C# on associe une commande Select a la Classe SqlDepedency qui devrait notifier un Insert ou un update ?

    Bref je ne parviens pas encore a me faire une idée claire pour aborder la chose

    J'ai aussi trouvé ceci qui semble faire une synthese des deux autres post
    Synthese

    Je vais continuer à lire et relire, mais si quelqu'un a quelques suggestions ou explications sur le sujet, elles sont bienvenue !

    Merci de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Cela dépend surtout de ce que vous souhaitez consommer au niveau applicatif : si vous avez simplement besoin de savoir qu'une table a été touchée par une instruction DML, ou si vous avez besoin des données qui été modifiées. Peut-être aussi que seule la dernière modification pour une valeur de clé unique particulière est intéressante, ou que vous avez besoin de la liste de toutes les modifications ...

    @++

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour Elsuket

    Dans ce cas ci et dans la majorité des cas le simple fait de savoir qu'un record a été inséré, modifié ou effacé suffit !
    Meme pas besoin de savoir lequel

    Il s'agit pour une application de charger des tables de travail relativement stables (pas de modification quotidienne)
    Mais d'etre le cas échéant prevenu qu'un reload est nécessaire
    Le cas échéant un reload complet est prévu

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Dans ce cas les notifications d'événement pourraient convenir, mais cette fonctionnalité est dépréciée et plutôt lourde à coder et à maintenir.

    Le déclencheur DML aurait convenu, mais il va ralentir l'exécution du chargement de données, surtout s'il est volumineux.

    Ne vous est-il pas possible de faire faire ce type de travail à l'application qui charge les données ? Par exemple, on lui ferait écrire que les tables ont été chargées avec succès dans une petite table utilitaire, et les interfaces client vérifient régulièrement le contenu de cette table.

    @++

  5. #5
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Citation Envoyé par Elsuket
    Par exemple, on lui ferait écrire que les tables ont été chargées avec succès dans une petite table utilitaire, et les interfaces client vérifient régulièrement le contenu de cette table
    Tout a fait !
    Merci Elsuket c'est la premiere idée que j'avais eue mais comme j'avais vu que SQL Server permettait de gerer les Event j'ai voulu investiguer cela

    Mais tu confirme mon sentiment que ca semble d'une part asser lourd a mettre en oeuvre et sans doute asser gourmand en ressources aussi

    Comme l'application d'administration des données passe par des classe d'acces dédié je peux facilement intervenir a ce niveau pour updater une petite table sémaphore
    Ou mieux encore, je peux ecrire un trigger qui ecrira dans cette table sémaphore

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    En l’occurrence, le service broker, qui est asynchrone, pourrait aussi être une solution a explorer...

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

Discussions similaires

  1. Trigger delete sur une table réflexive
    Par oxino dans le forum PL/SQL
    Réponses: 4
    Dernier message: 29/06/2010, 11h17
  2. Réponses: 4
    Dernier message: 09/10/2009, 16h54
  3. [Droits] INSERT et SELECT sur une table temporaire
    Par Bisûnûrs dans le forum Administration
    Réponses: 2
    Dernier message: 19/06/2008, 08h01
  4. [HQL] Update HQL sur une table avec Id composite
    Par Eccoon dans le forum Hibernate
    Réponses: 5
    Dernier message: 02/04/2007, 12h10
  5. probleme de delete sur une table avec somation
    Par galaad666 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/10/2006, 16h44

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