Rafraichir des mises à jours distantes

alicia_3107 Messages postés 4558 Statut Membre -  
alicia_3107 Messages postés 4558 Statut Membre -
Je m'appelle alicia, j'ai 23 ans et je suis ingénieur en informatique.

Je débute actuellement dans la réalisation d'applications distribuées.
J'ai des problèmes d'ordre techniques...

Je dispose d'un réseau local Client Serveur.
1 Serveur WintNT et deux postes clients sous Win98.
J'ai créé une base de données oracle (sur le serveur) Pilote ODBC.
J'ai réalisé avec DELPHI une petite application accédant à la BDD distante.
J'utilse des composants SQL pour appliquer des opération de mise à jour sur une table de la BDD de données distante.
Jusque là tout vas bien, la connexion est établie et tout est cool.

Mon problème C'est que je voudrai rafraichir instantanemment (sur l'ensemble du réseau) les mises à jour effectuées.
Comment faire ?
Est ce que je dois créer des TRIGGERS et comment ?
Existe t-il une fonction de rafraichissement automatique des mises à jours ?

SVP. Répondez moi vite Je suis déséspérée.
A voir également:

6 réponses

Admin System
 
Je ne comprend pas ta question .
Qu est ce que tu appelles tout le reseau,
Quand tu fais un update avec un comit sur une table de ta base Oracle , les données sont sur ta base alors je ne vois pas ton probleme.Si tu relis ta table avec un select alors tu auras tes données non.Comment se font les mises à jours sur les autres clients ?
Sinon Cherche plutot dans les sites Oracle.
0
alicia_3107 Messages postés 4558 Statut Membre 6
 
Bonjour ...

J'ai baucoup cherché sur Internet et je suis arrivée aux paquets.
En effet sous oracle Il existe un type de paquet utilisé qui s'appelle
DBMS_ALERT; Ce paquet utilisé dans un trigger (mais je ne sais pas encore comment exactement) est censé envoyé à une application une notification particulière instantanément.
L'application aprés avoir reçu cette notification peut en faire ce qu'elle veut.
(par exemple: Dés qu'un collègue à moi sur l'autre poste insère un nouveau produit. Je voudrai qu'instantanément ce produit s'affiche sur mon écran) C'est un p'tit peu comme lorsqu'on envoie un email à quelqu'un. On n'a pas besoin de cliquer à chaque fois que l'on désir ou à chaque x seconde (consommation de temps CPU) de cliquer sur un bouton actualiser. C'est pas ça que je veux. Je veux que les choses se fasse d'elles mêmes. Ceci existe bel et bien et ce n'est ni un rêve ni un délire.
J'ai juste envie de connaître la syntaxe exacte de ce procédé.
Mon réseau est local et petit (1 Serveur et deux clients).
Si tu connais quelqu'un qui s y connais prière de nous mettre en contact.

Merci d'avoir répondu.
0
Utilisateur anonyme
 
le probleme, si g bien compris, c de mettre a jour les infos affichées...
a priori il suffit d'actualiser la page et les maj sont effectuées...
ou alors g rien compris au pb et g repondu a cote, ce qui est possible :)

Castor
0
alicia_3107 Messages postés 4558 Statut Membre 6
 
Bonjour ...

J'ai baucoup cherché sur Internet et je suis arrivée aux paquets.
En effet sous oracle Il existe un type de paquet utilisé qui s'appelle
DBMS_ALERT; Ce paquet utilisé dans un trigger (mais je ne sais pas encore comment exactement) est censé envoyé à une application une notification particulière instantanément.
L'application aprés avoir reçu cette notification peut en faire ce qu'elle veut.
(par exemple: Dés qu'un collègue à moi sur l'autre poste insère un nouveau produit. Je voudrai qu'instantanément ce produit s'affiche sur mon écran) C'est un p'tit peu comme lorsqu'on envoie un email à quelqu'un. On n'a pas besoin de cliquer à chaque fois que l'on désir ou à chaque x seconde (consommation de temps CPU) de cliquer sur un bouton actualiser. C'est pas ça que je veux. Je veux que les choses se fasse d'elles mêmes. Ceci existe bel et bien et ce n'est ni un rêve ni un délire.
J'ai juste envie de connaître la syntaxe exacte de ce procédé.
Mon réseau est local et petit (1 Serveur et deux clients).
Si tu connais quelqu'un qui s y connais prière de nous mettre en contact.

Merci d'avoir répondu.
0
sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 667
 
>Mon problème C'est que je voudrai rafraichir instantanemment
>(sur l'ensemble du réseau) les mises à jour effectuées.

ARG !

L'accès immédiat et totale à toutes les données mises à jour,
avec rafraîchissement automatique.
Là c'est un peu un rêve.
Le rêve de la réplication immédiate et totale de toutes les
données.

En utilisant un trigger, tu va pénaliser *tous* les utilisateurs
de la base. C'est une très mauvaise idée.

Le mieux que tu puisse faire, c'est utiliser des locks par
enregistrement (pour éviter que 2 personnes éditent le même
enregistrement en même temps), et effectuer un rafraîchissement
de l'écran quand la personne sort du mode édition de cet
enregistrement.

Ainsi elle ne travaillera jamais sur des données périmées.

Quand elle n'est pas en mode édition, on peut imaginer:
- un bouton 'Actualiser'
- ou bien un rafraîchissement automatique de l'écran
(toutes les x secondes). Mais je te le déconseille: c'est pénible,
quand tu es en train de dérouler une liste, de voir l'écran
s'effacer, se réafficher et te replacer tout en haut de la
liste...

0
alicia_3107 Messages postés 4558 Statut Membre 6
 
Bonjour ...

J'ai baucoup cherché sur Internet et je suis arrivée aux paquets.
En effet sous oracle Il existe un type de paquet utilisé qui s'appelle
DBMS_ALERT; Ce paquet utilisé dans un trigger (mais je ne sais pas encore comment exactement) est censé envoyé à une application une notification particulière instantanément.
L'application aprés avoir reçu cette notification peut en faire ce qu'elle veut.
(par exemple: Dés qu'un collègue à moi sur l'autre poste insère un nouveau produit. Je voudrai qu'instantanément ce produit s'affiche sur mon écran) C'est un p'tit peu comme lorsqu'on envoie un email à quelqu'un. On n'a pas besoin de cliquer à chaque fois que l'on désir ou à chaque x seconde (consommation de temps CPU) de cliquer sur un bouton actualiser. C'est pas ça que je veux. Je veux que les choses se fasse d'elles mêmes. Ceci existe bel et bien et ce n'est ni un rêve ni un délire.
J'ai juste envie de connaître la syntaxe exacte de ce procédé.
Mon réseau est local et petit (1 Serveur et deux clients).
Si tu connais quelqu'un qui s y connais prière de nous mettre en contact.

Merci d'avoir répondu.
0
Utilisateur anonyme
 
Au pt'i bonheure la chance moi je dis:

équipe t'es station client avec des carte réseaux à fibre 15Go/s
(152 369Frs) (HT) lol

la tu auras de l'instantané o:)

Bonne chance

0
alicia_3107 Messages postés 4558 Statut Membre 6
 
Bonjour ...

J'ai baucoup cherché sur Internet et je suis arrivée aux paquets.
En effet sous oracle Il existe un type de paquet utilisé qui s'appelle
DBMS_ALERT; Ce paquet utilisé dans un trigger (mais je ne sais pas encore comment exactement) est censé envoyé à une application une notification particulière instantanément.
L'application aprés avoir reçu cette notification peut en faire ce qu'elle veut.
(par exemple: Dés qu'un collègue à moi sur l'autre poste insère un nouveau produit. Je voudrai qu'instantanément ce produit s'affiche sur mon écran) C'est un p'tit peu comme lorsqu'on envoie un email à quelqu'un. On n'a pas besoin de cliquer à chaque fois que l'on désir ou à chaque x seconde (consommation de temps CPU) de cliquer sur un bouton actualiser. C'est pas ça que je veux. Je veux que les choses se fasse d'elles mêmes. Ceci existe bel et bien et ce n'est ni un rêve ni un délire.
J'ai juste envie de connaître la syntaxe exacte de ce procédé.
Mon réseau est local et petit (1 Serveur et deux clients).
Si tu connais quelqu'un qui s y connais prière de nous mettre en contact.

Merci d'avoir répondu.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
petite precision alicia: pas besoin de faire un "copier/coller" de ton message, cela alourdit la base...
il vaut mieux un seul msg en fin de thread, c plus mieux bien!!

bon ceci dit, je comprends mieux ton pb apres ces qques explications, mais je ne sai spas :)
je cherche de mon cote, et si g du nouvo je te fais signe (pareil de ton cote stp, c tjs enrichissant qd un post se termine bien, comme a WollyWood!!)

Castor
0
alicia_3107 Messages postés 4558 Statut Membre 6
 
CASTORITOOOO BONJOUR !

OUI T'a raison, mais comprend moi je suis tellement désépérée. Je recopie ma réponse à tout le monde afin que chacun d'eux reçois mon appel de détresse. STP CASTOR NE ME LACHE PAS. Trouve moi quelqu'un d'expert (un développeur oracle delphi). STP STP Je n'oublierai jamais ce service.

Je suis trés triste en cemoment !

J 'ATTEND
0
estoune > alicia_3107 Messages postés 4558 Statut Membre
 
Avec les bases de données, en théorie ce n'est pas possible, mais ce que tu peux essayer de faire c'est de faire un "requery" et de lui mettre un timer afin que cela se fasse le plus régulièrement possible, mais le probleme c'est que tu va pénaliser les utilisateurs et faire beaucoup d'acces a ta base de donnée. En tout cas sous VB l'utilisation de "requery" te permet de relancer la dernière requete enregistrée dans ton objet commande, suauf si tu as fermé ton "record set". Si tu as du mal a me comprendre dis le moi et j'essaierai de t'envoyer mes cours de BTS programmer en client/serveur avec VB, qui pourront peut être t'éclairer. Je pense donc que si c'est faisable sous VB cela doit l'être sous delphi.
@+
Estelle
0
alicia_3107 Messages postés 4558 Statut Membre 6 > estoune
 
D'abord, je te remercie baucoup d'avoir répondu. C'est trés touchant.

Mon problème, j'ai du mal à croire que personne ne s' y connais.
C'est quand même assez bizarre de constater que tous ceux qui me répondent me disent tous la même chose !
C'est à dire ''Ceci est impossible, Tu dois raffraichir toi même tes données ...''
NON NON ET NON. Ce n'est pas ce que je cherche. Pas le rafraîchissement à la demande.
Lorsque j'ai reçu ton email, c'était trés cool.. tu sais pourquoi ?
ET bien parceque je n'ai pas cherché à savoir si j'ai de nouveaux messages ou non.
Dés ma connexion, un message de NOTIFICATION INSTANTANE m'a prévenu que j'ai de nouveaux messages.
Cette notification je ne l'ai pas provoqué.
Le rafraichissement périodique (c'est à dire aprés chaque x secondes) est une trés mauvaise idée.
J'aime bien ma CPU et je ne voudrai surtout pas lui faire faire consommer du temps inutile.

Ce dont je parle je l'ai déja réalisé avec INTERBASE si tu veux savoir comment je serai volentaire de te le dire.
Si tu es sur le même réseau, sur la même BDD et sur la même table que moi alors tu pourra voir instantanément toute mise à jour effectuée par moi.
Seulement voilà c'est sur ORACLE que je voudrai me reconvertir.

Je lis actuellement des documents que je télécharge sur INTERNET, il ne parlent que de cela.
Le problème c'est qu'ils ne m'aportent pas baucoups de précision pratiques.

Je sais à présent qu'il faudrait utiliser des fonction stockées prédéfinies appelées

DBMS_ALERT.SIGNAL; .REMOVE; .WAITONE; ... et autres dans un trigger (un déclencheur lié à une table).

Donc à présent je cherche quelqu'un qui a déja appliqué ce genre de procédure.

Je dois dire que j'ai un peu avancé grâce à vous tous membre du CCM. Mais il me reste encore du pain sur la planche.

BISOUUUUUUUUUUUUSSSSSSSSS A TOI SURTOUT ET A TOUT LE MONDE AUSSSSSSSI.

STP Cherche moi quelqu'un de chez ORACLE DELPHI que je puisse lui parler.

Aliiiiiiiiicia.
0
estoune > alicia_3107 Messages postés 4558 Statut Membre
 
alicia, si tu peux attendre encore un peu, demain je vais à l'école alors
1- je poserai la colle à mon formateur
2- j'ai un collegue qui a une bonne maitrise de Delphi, mais je ne le verrai peut être que lundi, en tout cas je me renseigne et je te fait parvenir les infos.

Par contre, j'ai eu encore une confirmation par mon tuteur (et oui je suis en alternance!!) encore une comme quoi un rafraichissement instantanné avec une BD c'est pas possible de la facon dont tu le veux.
mais j'essaye quand meme de te trouver ca.
@+
estoune
ps: de quelle ecole d'ingenieur tu viens, parce que j'aimerai bien faire une école d'ingénieur et je ne sais pas quoi choisir il y a tellement de choix
merci d'avance!!!!
0
alicia_3107 Messages postés 4558 Statut Membre 6 > estoune
 
OHHHHHH LA LA !

ESTOUNE Je ne sais vraiment pas quoi te dire. Je suis ... je ne peux pas te décrire ma joie, ma reconnaissance (et .. tout le reste).

Je ne te remercierai jamais assez.

Si je peux faire quelque chose pour toi alors je le ferai.

J'ATTEND AVEC IMPATIENCE JUSQU'A LUNDI.

A Propos de lundi. C'est ma nouvelle rentrée. Je compte suivre des cours intensifs en allemand dans une école spécialisée.

A+++++ ET MERCI ENCORE.
0
Utilisateur anonyme
 
Aliiiiiiicia, petite question...
ton "notificateur automatique" est-il vraiment instantanné?
ou y a-t-il un décalage? a mon avis, soit le serveur envoie une notif a la reception du mail (qui diffère qd m légèremnt d'une modif de base) soit il teste "régulièrement" tes mails et t'envoie la notifs des mails "depuis la derniere notif " (cas du carapop)

Castor
0
alicia_3107 Messages postés 4558 Statut Membre 6
 
BONJOUR CASTOOOORITO !

Avec INTERBASE ET DELPHI. J'ai réalisé cette notification et elle est vraiment instantanée.

Si tu veux que je te dise comment on fait alors NO PROBLEMOS !

ASTA LA VISTA BABY (C'est vrai que ça me rappelle un film EUUUHH AH Oui C'était TERMINATOR ..) Mais je n'ai pas terminé.

BYYYYYEEEEEEE ! ...
0