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 :

Callback aux clients


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut Callback aux clients
    Bonjour à tous,

    L'architecture de mon projet est très simple, un client lourd se connecte à une base de données oracle 9i.

    Chaque utilisateur se connecte avec ce client lourd codé en C++.
    Il peut donc y avoir plusieurs utilisateurs connectés en même temps sur la base de données oracle, chacun utilisant le client lourd sur sa machine.(Un cas très classique en somme).

    Je voudrais que dès qu'un utilisateur Insert/Update/Delete dans une table, Oracle indique à tous les utilisateurs connectés que cette table a été mise à jour.

    L'idée est d'effectuer une gestion de cache au niveau des clients lourds et que la base de données signifie à chaque client de se mettre à jour.

    Questions:
    - Est ce possible?
    - Si oui, comment?

    Pour info, j'utilise la librairie OTL pour me connecter à la base de données.
    http://otl.sourceforge.net/

  2. #2
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    il y a les triggers pour ca

    http://download.oracle.com/docs/cd/B...htm#ABC1032282

    mais ...
    l'interet ici me semble ....

    imagine que t'as 23000 tables type SAP et 1000 utilisateurs .... ?

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par escafr Voir le message
    ... Je voudrais que dès qu'un utilisateur Insert/Update/Delete dans une table, Oracle indique à tous les utilisateurs connectés que cette table a été mise à jour.

    L'idée est d'effectuer une gestion de cache au niveau des clients lourds et que la base de données signifie à chaque client de se mettre à jour.
    Bonjour

    Il y a de fortes chances que ce soit un faux besoin et une très mauvaise idée.
    Pouvez-vous préciser en quoi les mécanismes normaux d'Oracle sont inadaptés à votre situation, et nécessiteraient une gestion de cache au niveau client ?

  4. #4
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Je partage l'avis de Pomalaix si c'est généralisé à la toute les tables de la DB.

    Par contre limité à certains ensembles de données, ce qui peut être intéressant, ce sont les "Continuous Query Notification" ou encore appelé "Database Change Notification" en OCI...

    Lien sur la doc Oracle sur cette notion

    Mais je doute que OTL les gère....
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut
    Merci pour vos réponses.

    Évidement que ce ne sera pas généralisé à toutes mes tables, mais seulement à certaines tables qui sont peut mise à jour (genre max 10 fois/mois).

    Ce que Vincent Rogier me propose semble me convenir, par contre l'exemple est absolument peu clair, je vais me pencher dessus. Et ça oblige à utiliser OCI directement si je comprend bien....

    Par contre, je vois pas comment les triggers peuvent répondre à mon besoin?

    EDIT: commentaire sur OCI

    EDIT 2: Solution par OTL: http://otl.sourceforge.net/otl4_ex585.htm

  6. #6
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    zut... Moi qui pensait que OTL ne gérait pas les DNC....

    J'avais déjà penser à les implémenter dans OCILIB mais vu que quasiment personne ne les utilise....

    bon, y a plus qu'a...
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 224
    Par défaut
    Citation Envoyé par Vincent Rogier Voir le message
    J'avais déjà penser à les implémenter dans OCILIB mais vu que quasiment personne ne les utilise....
    Comment ca se fait que personne ne l'utilise? Existe t'il d'autres mecanismes afin de gérer ma demande? Spécifique à chaque langage de programmation/librairie?

    Mon problème semble être relativement basique, qd un client met à jour une table, tous les autres veulent être immédiatement au courant...

Discussions similaires

  1. socket Client/serveur : envoyer message aux clients
    Par hishuma dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 29/07/2009, 22h26
  2. Réponses: 2
    Dernier message: 15/10/2008, 16h37
  3. [osCommerce] Modifier notifications aux clients
    Par skgz95 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 20/06/2008, 21h33
  4. Réponses: 8
    Dernier message: 18/05/2008, 23h16
  5. Envoyer un signal aux clients
    Par Denn's dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 29/08/2006, 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