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

Oracle Discussion :

Exécution d'un trigger avec mise à jour modèle via db_link. [11gR2]


Sujet :

Oracle

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut Exécution d'un trigger avec mise à jour modèle via db_link.
    Bonjour,

    J'ai une table qui log la totalité des modifications des agents dans une application RH.
    On souhaite positionner un trigger sur cette table afin de nous permettre de mettre à jour un modèle de données interne pour la gestion des comptes utilisateurs.

    Ce modèle de données se trouve dans une base de données. Nous devrons donc utiliser un db_link.

    Je me pose des questions :
    • Comment faire en sorte qu'en cas de problème de communication pour le db_link, ça ne bloque pas l'application RH source?
    • Dans le cas ou nous rencontrons un problème de communication, comment prévoir la récupération du delta qui n'aura pas été mis en jour dans notre modèle de données interne?


    Merci à vous pour vos avis,

    Matt

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    Tu as 2 solutions :
    1/ Un trigger sur ta table de Log qui va insérer dans une table "A_TRANSFERER"
    Un traitement régulier qui prend toutes les données de cette table, les transfère par Dblink et supprime les données de la table A_TRANSFERER

    2/ Un ajout d'une colonne en TIMESTAMP dans la table des logs
    Un traitement régulier qui prend toutes les données de cette table dont le timestamp est > au dernier timestamp transféré (il faut donc le stocker quelque part), les transfère par Dblink et stocke le dernier timestamp transféré

    Pour le cas 2, il peut y avoir des "oublis" de ligne si tout ce qui insère dans la table de log ne commite pas tout de suite, il faut donc soit se garder une marge sur la plage des timestamp à prendre en compte, soit utiliser la solution 1

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 467
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    Merci pour ton retour.

    Je vais créer une table dans la base source qui collecte les evennements et un job sur la base distante qui collectera les informations.

    Matt

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

Discussions similaires

  1. [WD17] exécutable windev avec mise à jours à distance
    Par GestApp dans le forum WinDev
    Réponses: 2
    Dernier message: 27/05/2019, 11h58
  2. [AC-2010] Exécuter une requête de type Mise à jour avec un bouton dans un formulaire
    Par caronjo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 01/03/2016, 16h33
  3. [2008R2] Trigger avec mise à jour sur jointure + aggrégat
    Par StringBuilder dans le forum Développement
    Réponses: 7
    Dernier message: 25/01/2015, 11h05
  4. Réponses: 6
    Dernier message: 28/11/2013, 11h55
  5. UpdatePanel avec Trigger (Empêcher mise à jour)
    Par Erakis dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/01/2010, 16h50

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