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 :

[2005] Trigger avec paramètres


Sujet :

Développement SQL Server

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut [2005] Trigger avec paramètres
    Bonjour,

    J'ai une base de donnée qui doit se synchronizer partiellement à intervalle régulier avec une autre.
    Je souhaite donc crée un trigger à la modification de quelques tables qui me crée des "logs" pour faire la synchro ulterieurement.

    Le problème est que ces triggers ne doivent pas réagir à une mise à jour provenants de la synchronization. Sinon, ça ferait une boucle "je t'envois ce batch, tu me le renvois" sans fin.

    Donc, je me demandais s'il était possible de passer un paramètre "ViaSynchro (1|0)" supplémentaire aux champs des tables. Mais je ne souhaite pas changé pour autant la structure de mes tables.
    J'ai cru comprendre qu'il était possible delier triggers à des view mais je n'en sais pas plus.

    Que puis-je faire ?

    Merci.

    PS: je souhaite absolument procéder par trigger et pas par procédure stockée (sinon, vive la fin des opérations ensemblistes).

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    Je souhaite donc crée un trigger à la modification de quelques tables qui me crée des "logs" pour faire la synchro ulterieurement.
    L'opération de synchronisation est elle asynchrone par rapport à la modification de vos données ? Par exemple : une mise à jour se produit sur une table A > le trigger se déclenche > copie des données insérées / modifiées dans une table de log > lancement d'un job de synchronisation XXX temps après ?

    ++

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    C'est un service qui va à intervalle régulier lire les logs et lancer des opérations de synchronisation.

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Ok. Dans le cas ou ce service intervient à un moment de faible activé, où vos tables ne sont pas concernés par une quelconque mise à jour, vous pourriez intégrer dans votre service la désactivation des triggers sur les tables cibles avant de procéder à la synchro des données et de les réactiver une fois la mise à jour effectuée.

    Vous avez une autre solution également qui est d'utiliser la réplication de fusion qui permet de faire exactement ce que vous voulez. A voir si elle s'adapte dans votre environnement et avec vos contraintes techniques et fonctionnelles.

    ++

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    N'ayant acunne règle concernant les périodes d'activité, de mise à jour (bases de donnée utiliser pour des sites ouverts 24/24 7/7), je ne peux pas prendre le risque de désactiver temporairement un trigger (que je sache la désactivation d'un trigger est globale et non propre à la session).

    Je ne sais rien de ce que tu appelles "réplication de fusion".

    Mais qu'en est-il d'update sur des view, est-ce que je peux crée une view sur ma table avec un champs "ViaSynchro (1|0)", et crée un trigger à l'insertion sur cette view (si une telle opération existe belle et bien) ?
    Si oui, est-ce que je peux alors crée un trigger empêchant la mise à jour directement sur les tables sans passer par la view ?

    Merci.

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

Discussions similaires

  1. [vb 2005]requête avec 2 paramètres
    Par isi241 dans le forum Windows Forms
    Réponses: 15
    Dernier message: 27/08/2008, 19h25
  2. [VB.net] Thread avec paramètres
    Par WriteLN dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/04/2005, 17h42
  3. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 10h33
  4. [PL/SQL] Curseur avec Paramètre
    Par blids dans le forum Oracle
    Réponses: 5
    Dernier message: 10/10/2004, 20h07
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

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