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

C Discussion :

Programme pour surveiller DB


Sujet :

C

  1. #1
    Membre habitué
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut Programme pour surveiller DB
    Bonjour,

    je veux faire une petite application , qui surveille les modifications dans une base de donnee.

    Alors comment je dois faire ?

    Merci

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 461
    Par défaut
    Bonjour,

    Ça va principalement dépendre de la base de données que tu utilises. Quel système as-tu choisi ?

  3. #3
    Membre habitué
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    Salut,

    J'utilise Ubuntu-server 12.04.

    Pour être plus précis, je veux faire une application qui surveille ma BD. Dans le cas où il y a une ligne ajoutée, je veux qu'un traitement soit exécuté.

    Merci.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 461
    Par défaut
    Oui mais quel système de base de données utilises-tu ?

    MySQL ? PostgreSQL ? SQLite ? BerkeleyDB ? des fichiers ordinaires ? Une connexion ODBC à un serveur distant ?

  5. #5
    Membre habitué
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    J'utilise MySQL.

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Cela ressemble plutôt à des procédures stockées démarrées grâce à des triggers. C'est en tout cas ce qu'il faut faire avec les BDD Oracle. MySQL propose t-il des mécanismes similaires ?

  7. #7
    Membre habitué
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    Hi,

    est ce que c est possible avec oracle ? Qu est ce que je dois faire pour que je puisse excuter un traitement lorsque une nouvelle ligne est ajoutee ?


    merci

  8. #8
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 461
    Par défaut
    On te l'a dit : ça s'appelle un TRIGGER : http://sqlpro.developpez.com/cours/sqlaz/fondements/#L8

    C'est possible avec la plupart des moteurs de bases de données.

    Maintenant, si tu veux monitorer toutes les tables à la fois et exécuter du code C uniquement du côté du client, il faut demander à l'API du système que tu utilises de suivre les requêtes clients au fur et à mesure qu'il les reçoit. Ça doit être possible mais il n'y a rien de standard.

  9. #9
    Membre habitué
    Inscrit en
    Août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 9
    Par défaut
    Salut,

    je connais bien les triggers.

    Mais la chose que je ne sais pas et je n'ai pas trouvé de solution, c'est comment exécuter un script shell Quand une nouvelle ligne dans une table ajoutée.

    Et pour l'application , j'ai pensé à créer une application qui surveille les modifications sur la BD.

    Alors, est ce qu il y a un solution pour excuter ce script shell ?

    Merci

  10. #10
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1

  11. #11
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 127
    Par défaut
    ceci est un exemple de trigger table :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TRIGGER log 
    AFTER INSERT OR UPDATE ON Emp_tab
    BEGIN
     INSERT INTO log(table, date, username, action)
     VALUES ('Emp_tab', sysdate, sys_context('USERENV',
       'CURRENT_USER'), 'INSERT/UPDATE on Emp_tab') ;
    END ;

    Ce trigger table enregistre dans une table log la trace de la modification de la
    table Emp_tab. On mémorise ici le moment de la modification et l’utilisateur qui
    l’a provoqué. Il n’est donc exécuté qu’une seule fois par modification de la table
    Emp_tab.

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/05/2015, 21h34
  2. existe t 'il des programme pour transformer les bases
    Par creazone dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/10/2004, 14h11
  3. [TP]Programme pour piloter port série et parallèle...
    Par DDR dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 15/04/2004, 21h52
  4. Créer de programme pour WIndows avec Turbo Pascal
    Par kaygee dans le forum Turbo Pascal
    Réponses: 16
    Dernier message: 20/08/2003, 23h22
  5. Outils linux pour surveiller les perf d'un serveur ?
    Par MASSAKA dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 22/10/2002, 10h40

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