Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » Plantage poste client dans certains session windows !!!
  • 1 évaluations, moyenne 5

#1 23-11-2012 20:40:00

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Plantage poste client dans certains session windows !!!

Bonjour les PBadonfeurs,

Je travaillais sur une application développée en PowerBuilder 11.2 et oracle 10g.

J'avais un problème dans un traitement au niveau poste client, il m'est extrêmement difficile de lancer un traitement, plantage ..
La plupart du temps je n'y arrive pas, quand je lance le traitement, le poste client plante et je suis obligé de forcer sa fermeture, quelques fois j'y arrive après
attendu quelques bonnes minutes sans toucher à rien d'autre sur mon ordinateur.
J'ai ouvert l'application avec mes identifiants dans la session de quelqu'un d'autre, c'est pareil mais lui il n'avait pas le problème dans sa session !.
Le traitement que je parlais consiste à exécuter 4 requêtes sql (des selects) (4 datawindow) et je confirme que le temps de réponse de ces requêtes est assez longs.
Mais je ne trouvais pas une explication sur le problème (c'est parfois aléatoire !). 

Avez-vous une piste pour investiguer s'il vous plaît ?

En vous remerciant

Dernière modification par mattdamon (24-11-2012 19:44:38)

Hors ligne

 

#2 26-11-2012 22:28:31

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: Plantage poste client dans certains session windows !!!

Toute idée sera la bienvenue

Hors ligne

 

#3 27-11-2012 08:05:07

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: Plantage poste client dans certains session windows !!!

Bonjour, tes requêtes ne seraient-elles pas victimes "aléatoirement" de locks ?


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#4 27-11-2012 20:10:22

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: Plantage poste client dans certains session windows !!!

Bonjour xlat,

Ce que j'ai remarqué après mes investigations :

- Il y des insertions dans les tables toutes les secondes ce qui ralentissent l'exécution de mes requêtes select. (d'où un lock oracle par ligne)
- Mes 4 requêtes select contiennent plusieurs jointures entre plusieurs tables dynamiques (minimum 100 lignes insérées chaque minute).
- Les 4 requêtes sont bien optimisées car les indexes sont bien créés et utilisés.
- Les paramètres de la bases sont ok.
- La collecte des statistiques est bien faite tous les jours.
- En mode debug, le plantage présente dans les 4 retrieve (4 requêtes select)

Je continue mes investigations mais je ne pense pas que puisse apporter quelques choses .. du coup, je suis dans le titanic 



A+

Dernière modification par mattdamon (27-11-2012 22:01:54)

Hors ligne

 

#5 29-11-2012 13:49:58

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Plantage poste client dans certains session windows !!!

Salut,

      Ne raménerais tu pas trop de ligne sur ton poste client.
      Une application Powerbuilder peut se fermer si tu ramènes trop de ligne lors des retrieve sur le poste client. Si celà étais le cas utilise plutot un datastore qu'une datawindow celà est moins gourmand.


Cdt
Yanis

Hors ligne

 

#6 29-11-2012 19:48:07

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: Plantage poste client dans certains session windows !!!

Yanis a écrit:

Salut,

      Ne raménerais tu pas trop de ligne sur ton poste client.
      Une application Powerbuilder peut se fermer si tu ramènes trop de ligne lors des retrieve sur le poste client. Si celà étais le cas utilise plutot un datastore qu'une datawindow celà est moins gourmand.


Cdt
Yanis

Salut Yanis,

Effectivement, mes requêtes ramènent trop de lignes ! ça peut-être ça l'origine du problème.

Dans ce cas, je vais modifier les datawindows par des datastores puis je fais rowscopy vers les datawindows...

Je vais faire ça et je te tiens informé.

Merci

A+

Hors ligne

 

#7 30-11-2012 08:15:19

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Plantage poste client dans certains session windows !!!

Salut,

     je ne comprend pas bien ce que tu vas faire. Si c'est pour lire toutes les ligne dans des datastores puis tu vas les recopier dans tes datawindows tu ne resoudra pas le problème au contraire tu vas doubler le nombre de ligne. 


Cdt
Yanis

Hors ligne

 

#8 30-11-2012 20:12:38

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: Plantage poste client dans certains session windows !!!

Yanis a écrit:

Salut,

     je ne comprend pas bien ce que tu vas faire. Si c'est pour lire toutes les ligne dans des datastores puis tu vas les recopier dans tes datawindows tu ne resoudra pas le problème au contraire tu vas doubler le nombre de ligne. 


Cdt
Yanis

Salut Yanis,

Si j'ai bien compris ton idée, je vais faire retrieve dans des datastores puis je vais copier les lignes dans mes datawindows pour les afficher.

Pour info : J'ai 4 retrieves et chacun renvoient 25000 lignes, c'est trop de lignes non ?

Est-ce que c'est bien ça ce que tu veux dire ?

merci

A+

Dernière modification par mattdamon (01-12-2012 18:15:34)

Hors ligne

 

#9 03-12-2012 16:18:03

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Plantage poste client dans certains session windows !!!

Salut,

    J'ai une première question.
        Est il important que tu ramènes 100 000 lignes sur le poste client ?
        ( Si c'est pour faire des aggrégats soit tu réussis à les faires au sein de ton ordre select,  soit tu écris un procédure stockée,  dans les deux tu n'auras que les lignes qui t'intéresse).
        Pour l'utilisateur je ne vois pas trop l'intérêt de lui afficher 100 000 Lignes. Si c'est pour une édition c'est visiblement une grosse édition que tu fais car à raison d'une moyenne de 60 lignes par page tu es parti pour éditer 1500 pages ??????
        Je pense qu'avant d'essayer de résoudre un problème comme tu as il serait bon de se poser la question sur la fonctionnalité attendue.
   

Cdt
Yanis

Hors ligne

 

#10 03-12-2012 19:16:34

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: Plantage poste client dans certains session windows !!!

Yanis a écrit:

Salut,

    J'ai une première question.
        Est il important que tu ramènes 100 000 lignes sur le poste client ?
        ( Si c'est pour faire des aggrégats soit tu réussis à les faires au sein de ton ordre select,  soit tu écris un procédure stockée,  dans les deux tu n'auras que les lignes qui t'intéresse).
        Pour l'utilisateur je ne vois pas trop l'intérêt de lui afficher 100 000 Lignes. Si c'est pour une édition c'est visiblement une grosse édition que tu fais car à raison d'une moyenne de 60 lignes par page tu es parti pour éditer 1500 pages ??????
        Je pense qu'avant d'essayer de résoudre un problème comme tu as il serait bon de se poser la question sur la fonctionnalité attendue.
   

Cdt
Yanis

Bonjour Yanis,

Concernant l'affichage d'un grand nombre des lignes c'est important à l'utilisateur pour pouvoir sélectionner certaines lignes pour la validation.
En fait, le problème se pose lorsque l'utilisateur ne met pas des critères de recherche (plage des dates, montant, etc ...). Peut-être t'as raison il faut que je fasse des contrôles supplémentaires sur les champs de critères pour que l'utilisateur renseigne tous les champs et aussi en faisant une recherche sur une plage des dates courtes (d'un jours par exemple)

Cordialement

Dernière modification par mattdamon (03-12-2012 19:19:09)

Hors ligne

 

#11 04-12-2012 11:22:34

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Plantage poste client dans certains session windows !!!

Salut,
       Dans ce genre de cas on a l'habitude de limiter le nombre de ligne (  ex :5000  : ou moins ou plus c'est selon chacun ) en lui affichant un message ou un texte lui indiquant que seules les 5000 premières lignes sont affichées. Et si l'utilisateur ne trouve pas ces infos il doit renseigner des critères afin d'affiner sa sélection.

      Celà évite de ramener trop de ligne et que l'utilisateur puisse trouver rapidement ce qu'il recherche car dans 100000 lignes comment retrouver les lignes intérressantes .????
Cdt
Yanis

Hors ligne

 

#12 06-12-2012 18:44:51

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: Plantage poste client dans certains session windows !!!

Yanis a écrit:

Salut,
       Dans ce genre de cas on a l'habitude de limiter le nombre de ligne (  ex :5000  : ou moins ou plus c'est selon chacun ) en lui affichant un message ou un texte lui indiquant que seules les 5000 premières lignes sont affichées. Et si l'utilisateur ne trouve pas ces infos il doit renseigner des critères afin d'affiner sa sélection.

      Celà évite de ramener trop de ligne et que l'utilisateur puisse trouver rapidement ce qu'il recherche car dans 100000 lignes comment retrouver les lignes intérressantes .????
Cdt
Yanis

Bonjour Yanis,

Mais comment procéder pour limiter le nombre des lignes retourné par la requête à 5000 (par exp) ? est-ce possible de savoir le nombre des lignes avant d'exécuter la requête car l'exécution des requêtes qui posait le problème.

Merci d'avance

Hors ligne

 

#13 07-12-2012 09:23:35

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Plantage poste client dans certains session windows !!!

Salut,

      Il me semble qu'avec ORACLE c'est la syntaxe suivante :

     

Code: sql

     Select col1,  col2, col3 etc...    From Table Where  RowNum < Valeur
     


Cdt
Yanis

Hors ligne

 

#14 12-12-2012 20:24:01

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: Plantage poste client dans certains session windows !!!

Yanis a écrit:

Salut,

      Il me semble qu'avec ORACLE c'est la syntaxe suivante :

     

Code: sql

     Select col1,  col2, col3 etc...    From Table Where  RowNum < Valeur
     


Cdt
Yanis

Bonjour Yanis,

C'est une très bonne solution. Je vais proposer ça à l'équipe fonctionnelle pour limiter les lignes à 1000/datawindow.

Désolé, j'étais en formation Java pendant une semaine pour cela j'ai tardé de clôturer le sujet.

A bientôt

Merci Yanis pour ton aide

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » Plantage poste client dans certains session windows !!!
  • 1 évaluations, moyenne 5

Pied de page des forums

Propulsé par FluxBB 1.2.22