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

Firebird Discussion :

détecter les changements automatiquement


Sujet :

Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2002
    Messages : 584
    Par défaut détecter les changements automatiquement
    Bonsoir,

    y'a t'il un moyen de monitorer une table firebird en temps réel ?
    d'après ce que je sais et de mémoire il y'a les evenements FB avec POST_Event etc ...
    mais il faut faire un commit a partir de son application pour pouvoir avoir cette notification .

    donc existe t'il un mécanisme/technique qui permet de détecter les changements sur une table ou bien d'être en écoute sur les événements FB et intercepter les notifications automatiquement ?


    Merci et bonne fin de journée

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 661
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Monitorer une table et gérer des évènements sont pour moi deux choses différentes et donc je ne comprends certainement pas bien la question.
    Pour monitorer une table (c'est à dire enregistrer les changements qui peuvent s'y effectuer) j'utilise des triggers, généralement After Insert OR Update voire un Before DELETE.
    Un event lorsque j'en utilise est de la même manière générer par un trigger (ce n'est pas mes programmes qui envoie des Events à la Base de Données mais bien Firebird qui m'en envoi) du coup je ne comprend pas bien ce que vient faire cette remarque :
    Citation Envoyé par Issam
    mais il faut faire un commit a partir de son application pour pouvoir avoir cette notification .

  3. #3
    Membre très actif Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2002
    Messages : 584
    Par défaut
    on va prendre un cas concret :
    je voudrais lors d'une insertion dans une table donnée notifier les applications connectées a la base de données de cet ajout .

    Si on utilise les événements FB, on créer un trigger afterinsert, et dedans on fait appel a POST_EVENT

    le soucis que ce n'est pas du temps réel, l'application cliente doit quand même faire un commit pour qu'elle puisse être notifiée de cet événement ,
    en tout les cas c'est ce que j'ai pu comprendre ... et de mémoire toujours


    donc je me demande si on pouvait être notifié des insertion sur les tables via le mécanisme des post_event , ou autre mais de façon automatique

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 661
    Billets dans le blog
    65
    Par défaut
    Si on utilise les événements FB, on créer un trigger afterinsert, et dedans on fait appel a POST_EVENT
    le soucis que ce n'est pas du temps réel, l'application cliente doit quand même faire un commit pour qu'elle puisse être notifiée de cet événement ,
    évidemment dans ce cas de figure il faut bien qu'il y ait un commit , s'il aucune insertion n'est faite il n'y a normalement aucun évènement a notifier puisqu'il y a eu abandon cela me semble logique ?

    maintenant si l'EVENT est posté via un trigger BEFORE INSERT que se passera t-il d'après vous?

  5. #5
    Membre très actif Avatar de Issam
    Inscrit en
    Mars 2002
    Messages
    584
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2002
    Messages : 584
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    évidemment dans ce cas de figure il faut bien qu'il y ait un commit , s'il aucune insertion n'est faite il n'y a normalement aucun évènement a notifier puisqu'il y a eu abandon cela me semble logique ?

    maintenant si l'EVENT est posté via un trigger BEFORE INSERT que se passera t-il d'après vous?
    Before ou after n'est pas le problème . admettons que j'ai 2 applications tournant sur 2 ordinateurs différents sur le réseau.
    mon but et que si l'application sur le poste A fait une insertion/commit dans une table, l'application tournant sur le poste B soit notifiée automatiquement et en temps réel sans besoin de faire un commit a son tour dans le cas des POST_EVENT par exemple

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 661
    Billets dans le blog
    65
    Par défaut
    Le poste B n'a pas besoin de faire de COMMIT et sera notifié "en temps réel" (prévoir quand même un petit délai).

    j'ai fait une ébauche de traduction d'article trouvés dans un blog à propos des Events ici

    On n'a pas là affaire à un problème Firebird, mais à un problème de "lecteur" d'évènements, tout dépend des composants utilisés (ZIbEvents, IBEvents, UIBEvents , FdEventAlerter) et en cas d'utilisation de certains logiciels/configurations du ou des ports utilisés

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

Discussions similaires

  1. Appliquer les changement d'un Dropdown list automatiquent
    Par Innovawebdesign dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 24/06/2013, 05h27
  2. Réponses: 7
    Dernier message: 27/10/2011, 17h27
  3. Détecter les changement de Tab
    Par alen dans le forum MFC
    Réponses: 4
    Dernier message: 26/11/2008, 15h02
  4. Détecter les changements dans un fichier qui alimente une table
    Par yacinechaouche dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/06/2008, 17h56
  5. Détecter les URLs automatiquement
    Par Keyan dans le forum 4D
    Réponses: 3
    Dernier message: 26/09/2007, 16h53

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