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

JDBC Java Discussion :

[JDBC] pour écouter une table


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 12
    Par défaut [JDBC] pour écouter une table
    Bonjour,
    J'utilse MySQL et je cherche à récupérer les événements de modifications (des autres utilisateurs) sur les données d'une table.
    La chose est-elle possible car je ne vois pas où mettre le listener ?
    Merci

  2. #2
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Tu pourrais surement mettre en place une table de log qui serait rempli par des trigger, j'ai vu que MySQL le permettait.

    http://dev.mysql.com/doc/refman/5.1/...e-trigger.html

    Ensuite, tu n'aurais qu'à regarder de temps en temps cette table log pour voir s'il y a eu des modifications et lesquelles...

    Jc

    EDITION: Dépendant comment les autres utilisateurs modifient ta BD, si c'est toi qui programmes les clients, tu pourrais simplement faire les ajouts dans la table log et ne pas passer par des trigger... Plus simple et plus propre...

  3. #3
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Inconvénient de cette méthode, ce n'est pas en "temps réel". Les applications clientes ne se rendent compte du changement de la base que lorsqu'elles vont voir cette fameuse table de log.

  4. #4
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    Oui mais il ne demande pas à l'avoir en "temps réel"...

    Tu pensais à un message qui serait envoyé à un destinataire disant que la table a changée?

  5. #5
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    J'avais utilisé cette méthode de table de log une fois pour faire un chat.

    pb : savoir trouver le compromis entre la fréquence ou les clients vont chercher l'info, le trafic engendré, et la charge du serveur pour ces requêtes inutiles.

    Sa question de base m'interresse beaucoup en ce sens, car j'avoue ne pas trop m'y connaître en ce domaine.
    ça doit être possible sans problème si on peut faire tourner ce qu'on veut sur le serveur, mais si on ne peut mettre dessus que du php et mySQL j'ai peur que ce soit impossible sans passer par les tables de logs.

    Je me trompe ?

    Edit : Il serait pas dans le mauvais forum ce post d'ailleurs :p

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 12
    Par défaut
    Merci pour le consiel mais en fait je souhaiterais éviter de toucher à la structure (ajout de tables, triggers, ...), d'autres outils l'utilisent déjà.

    Pour le forum si c'est possible, je préférerais avoir une solution Java plus que du spécifique MySQL.

  7. #7
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    En admettant que ce soit possible, c'est pas JAVA qui va te faire ça, mais bien MySQL qui émettrait un événement ou je ne sais quoi que toi ensuite tu traiterais en JAVA.

    Ils te renseigneront bien mieux là bas qu'ici.

  8. #8
    Membre émérite Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Par défaut
    Pour Java le seul moyen est d'interroger à interval déterminé ta table à mon avis

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Par défaut
    Un patern observateur activé par ta base, le problème est effectivment de l'activer... Je dirais que ce n'est pas possible a moins que tous les appels vers ta base passe par un servlet qui te permet d'activer ton observateur.
    Juste à titre de curiosité, peut on faire un observateur à partir d'un fichier? Si oui, une base ne pourrait pas loger quelques part ses modifications? (Je ne connais pas grand chose en bdd, oui... )

Discussions similaires

  1. pb pour vider une table sous sql
    Par xence dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/03/2006, 08h09
  2. [JDBC] pour écouter une table
    Par gocin dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 14/02/2006, 20h17
  3. Trigger pour faire une table "mirroir"
    Par lgomez dans le forum Oracle
    Réponses: 8
    Dernier message: 26/10/2005, 13h12
  4. utiliser le quickreport et le sql pour interroger une table
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 7
    Dernier message: 28/07/2005, 08h46
  5. [JDBC]tester si une table est vide
    Par zozolh2 dans le forum JDBC
    Réponses: 5
    Dernier message: 28/05/2004, 09h17

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