Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
509 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ Client serveur ] besoin d'explication sur accés concurent ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Client serveur ] besoin d'explication sur accés concurent ...

n°133181
Australe
Coeur d'ange, sand de demon.
Posté le 01-05-2002 à 22:35:52  profilanswer
 

J'au un logiciel a faire pour des reservations de billet d'avion ... jusque la rien de dificil ....
 
 Mais quand je prend le meme executable et que j'attaque ma base Oracle avec 3 postes pour 1 seule et unique place restante ... le sablier SQL généré par oracle apparait et 2 postes se bloquent ...  
 
 J'aimerai que l'on m'explique le role du Rollback ?
 ------------------------------------- du commit ?
 
 Comment faire pour eviter cette situation ? Il convient que plusieur postes doivent pouvoir se servir de la base de donnée et non pas une seule machine seulement ...
 
Please confrére en detresse ...
 
 
Enfin il me semble que si je pouvais faire une reqete SQL testant le nombre de place avec une condition sa pourait m'aider...  
 
 
 du genre  If plus de place then  
               Message d'erreur  
               Rollback  
            else  
              Update ...  
              placedisponible :=lacedisponible-1;
 
               
merci d'avance

mood
Publicité
Posté le 01-05-2002 à 22:35:52  profilanswer
 

n°133233
darklord
You're welcome
Posté le 02-05-2002 à 08:57:42  profilanswer
 

tu dois utiliser des locks sur les objets pour que tes transactions fonctionnent correctement.
 
Genre du 2PC (2 phase commit) ou un système de verrour
 
commit = valider les changements dans la BD
rollback = annuller ces changements (= revenir à la situation telle qu'elle était au départ).
 
Pour ton code il est complètement foireux. Suppose que tu as 3 postes qui attaque la BD en meme temps. Tu as donc 3 fois la meme instance de ta méthode qui s'execute.
 
Place restante = 1
 
Poste 1 =  Place restant -> update
pendant l'update (donc avant -1)
 
 
Poste 2 & 3 place restante = 1 -> update chacun de leur cotté et place disponible -1
 
donc tu te retrouves avec placeDisponible = -2
 
C'est un cas d'école la réservation de billets d'avion. Tu ferais bien de relire ton cours ... (parce que le roolback ne sert absolument pas a ce que tu veux lui faire faire)


---------------
Just because you feel good does not make you right
n°133353
Australe
Coeur d'ange, sand de demon.
Posté le 02-05-2002 à 12:00:41  profilanswer
 

Je suis désolé j'ai pas de cours la dessus , mais stp indique moi de la doc ...  
 
please help

n°133385
darklord
You're welcome
Posté le 02-05-2002 à 12:45:57  profilanswer
 

australe a écrit a écrit :

Je suis désolé j'ai pas de cours la dessus



 
 :heink:


---------------
Just because you feel good does not make you right
n°133392
darklord
You're welcome
Posté le 02-05-2002 à 12:52:09  profilanswer
 

c'est écrit en quoi ton logiciel ...


---------------
Just because you feel good does not make you right
n°133775
Australe
Coeur d'ange, sand de demon.
Posté le 02-05-2002 à 22:02:32  profilanswer
 

Delphi  
 
mais j'attaque une base Oracle ..

n°133777
Australe
Coeur d'ange, sand de demon.
Posté le 02-05-2002 à 22:03:36  profilanswer
 

J'ai effectivement pas de cours , car c'est a nous de se mettre dans le bain . Il parait que c'est seulement en etant confronté au probleme que l'on comprendra réellement le cours

n°133818
Procat
L'eternel insatisfait !
Posté le 03-05-2002 à 00:18:42  profilanswer
 

Je ne m'y connais pas trop en SQL mais cela est possible je ferais une liste d'attente (un peu comme un serveur d'impression c'est chacun sont tour  :hap: )


---------------
[:procat]
n°133888
darklord
You're welcome
Posté le 03-05-2002 à 09:23:53  profilanswer
 

ta question est intéressanete mais deplhi je connais pas du tout. Ca m'étonne qd meme qu'on vous donne pas de cours. C'est vraiment pas sympas. Et puis dire que ca va s'apprendre comme ca c'est le meilleur moyen  d'éduquer des programmeurs avec un paquets de rustines dans la main ...


---------------
Just because you feel good does not make you right
n°133893
Australe
Coeur d'ange, sand de demon.
Posté le 03-05-2002 à 09:31:29  profilanswer
 

oui , mais si 4 personne se connecte ne meme temps , et que le premier fume une clope , les autres il peuvent se gratter en attendant qu'il termine sa reservation ...

mood
Publicité
Posté le 03-05-2002 à 09:31:29  profilanswer
 

n°133908
darklord
You're welcome
Posté le 03-05-2002 à 10:05:03  profilanswer
 

australe a écrit a écrit :

oui , mais si 4 personne se connecte ne meme temps , et que le premier fume une clope , les autres il peuvent se gratter en attendant qu'il termine sa reservation ...  




 
j'ai bien compris ton problème ... si c'est à moi que tu t'adresses évidemment.


---------------
Just because you feel good does not make you right
n°134356
Australe
Coeur d'ange, sand de demon.
Posté le 03-05-2002 à 22:42:09  profilanswer
 

please help ...

n°134451
darklord
You're welcome
Posté le 04-05-2002 à 11:47:38  profilanswer
 

je peux évidemment te filer un cours que j'ai eu à l'unnif en PDF. Je ne sais pas si ca te servira ... Si ca t'intéresse msg me


---------------
Just because you feel good does not make you right
n°134467
Procat
L'eternel insatisfait !
Posté le 04-05-2002 à 12:37:57  profilanswer
 

australe a écrit a écrit :

oui , mais si 4 personne se connecte ne meme temps , et que le premier fume une clope , les autres il peuvent se gratter en attendant qu'il termine sa reservation ...  




 
il faut mettre interdiction de fumer en utilisant ton prog !!!lol
 
non plus serieusement tu envoi les données petit a petit ? ou en une seule fois a la fin ?


---------------
[:procat]

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ Client serveur ] besoin d'explication sur accés concurent ...

 

Sujets relatifs
[Delphi] + Interbase + Client-serveur, Problème résolu ;)serveur Apache qui donne les fichiers PHP en téléchargement !! HELP !!
[Java] j'ai besoin de transformer un Object en byte[]besoin d aide
[C / C++] un client FTP activeX pour uploader un fichier en ASYNC ?[ASP] Probleme de connexion base de donnée sur serveur. Help!
[C]appli client/serveur, prob avec bind ![SQL] Besoin d'aide pour céer un requete
Plus de sujets relatifs à : [ Client serveur ] besoin d'explication sur accés concurent ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR