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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [PostgreSQL] Triggers et JDBC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PostgreSQL] Triggers et JDBC

n°1056704
joujou_cs
Posté le 22-04-2005 à 15:19:02  profilanswer
 

Salut,
 
J'ai besoin de vos lumières:
J'ai une table A et un Trigger "AFTER INSERT" sur cette table qui lance une procédure stockée assez longue (1min). Lorsque j'insère une ligne dans cette table A avec un prog Java (et donc un accès JDBC), le programme se termine seulement après avoir terminé la procédure stocké. Je pensais que Postgre effectuer les Trigger en Background et qu'il rendrait la main juste après l'insert. Si je remplace le prog Java par une page Web JSP, l'utilisateur devra attendre 1min avant d'avoir le retour de la page sur l'action d'insertion  :whistle: . Plutôt long pour un utilisateur ...
 
Y a-t-il un moyen pour que JDBC rende la main juste après l'insert?
 
Merci

mood
Publicité
Posté le 22-04-2005 à 15:19:02  profilanswer
 

n°1056726
gizmo
Posté le 22-04-2005 à 15:29:53  profilanswer
 

et le code de retour, comment veux-tu l'avoir si le trigger est pas terminé?

n°1056760
joujou_cs
Posté le 22-04-2005 à 15:42:28  profilanswer
 

Je n'ai pas besoin du code retour. Si le Trigger plante, une exception PostgreSQL sera levée.

n°1056903
gizmo
Posté le 22-04-2005 à 16:30:45  profilanswer
 

bah oui, mais on va poser la question autrement. Comment veux-tu avoir l'exception si jdbc te rend la main?
 
Tu peux toujours l'encapsuler dans un thread mais tu devra quand même attendre que ça se termine...

n°1056924
sircam
I Like Trains
Posté le 22-04-2005 à 16:46:35  profilanswer
 

Si le trigger fait partie intégrante de l'opération, faudra bien attendre.
 
Si ce n'est pas le cas, ton design DB n'est pas en phase avec ton appli... Soit ton appli attend, soit tu revois ta DB.
 
Une stored proc qui prend une minute après chaque insert... Heu, je suppose que tu ne fais que peu d'inserts, et que c'est réservé à des admins ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1056931
joujou_cs
Posté le 22-04-2005 à 16:49:32  profilanswer
 

Effectivement ce ne sera pas une opération qui sera fréquemment executée. Il y a la solution du Thread à laquelle j'avais pensé mais bon, c'est pas la joie à gérer sur une page Web...
Si vous avez d'autres idées je suis preneur. Merci

n°1056944
sircam
I Like Trains
Posté le 22-04-2005 à 16:55:42  profilanswer
 

La solution thread ne t'apportera rien sur une page web :
 
- Ou bien tu es condamné à attendre le résultat, et ça revient strictement au même que de faire ça dans le thread de départ;
- Ou bien tu n'attend pas la fin du thread-trigger, mais tu ne connais pas le résultat de l'opération, ce qui revient à changer la fn de ton application !
 
Possibilité alternative : exécution sous réserve de bonne fin. Ca arrive souvent sur des système où le processing ne se fera que la nuit, p.e. parce que connectivité avec un système tiers... Mais là, impact important sur ton application!


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}

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

  [PostgreSQL] Triggers et JDBC

 

Sujets relatifs
[PostgreSQL] Requête peu couteuse ?[EJB]Problème de connexion JDBC
projet java SWING/JDBC/MySQLgros problème de driver jdbc
Postgresql : compte du nombre de resultat si pas de LIMIT (how to?)importer et exporter les tables avec jdbc
Publipostage word / postgresql dans un intranet [Résolu]PostgreSQL/Linux : probleme de création de table [résolu]
[ PL/SQL ] Probleme en PL/SQL interfacé à du JDBCMySql - Procédures stockées et triggers
Plus de sujets relatifs à : [PostgreSQL] Triggers et JDBC


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