Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Migration WD 8 -> 9 34j URGENT

11 réponses
Avatar
I.G.LOG
Bonjour à tous
Je viens de migrer une grosse appli de WD8 en 9 dernière version (34j)
Plusieurs de mes requètes ne fonctionnent plus: à l'exécution, j'ai le
message d'attente et les requetes ne renvoient pas de résultats !!!!!
Voici une des requetes qui ne fonctionne plus, alors qu'elle fonctionnait
parfaitement avec WD8:


SELECT C.IDCLICOT, C.TYPE, C.NUMERO, C.IDUTILISAT, C.NUMSOC, C.RAISON,
C.NUMDEVGEN, C.NUMDEVART, C.NUMDEVPRE,
C.ADRESSE1 as ClicotAdresse1, C.ADRESSE2 as ClicotAdresse2, C.CODEPOST as
ClicotCodePost, C.VILLE as ClicotVille, C.PAYS as ClicotPays,
C.DATE, C.DATEVALID, C.OBSERV1, C.OBSERV2, C.REFCLI, C.NUMTVA, C.CONDVEND,
rtrim(C.ABRLANGUE) as AbrLangue, C.REMISE as RemGen,
S.ADRESSE1 as SocieteAdresse1, S.ADRESSE2 as SocieteAdresse2, S.VILLE as
SocieteVille, S.CODEPOST as SocieteCodePost,
S.PAYS as SocietePays, S.TELEPHONE as SocieteTelephone, S.FAX as SocieteFax,
S.FICLOGO, S.EMAIL,
C1.NUMERO as CliCotLGNumero, C1.NUMENS, C1.NUMGRP, C1.NUMLIGNE,
C1.DESIGNATION as CliCotLGDesignation, C1.ETAT, C1.QTE, C1.PRIX, C1.REMISE,
C1.DELAIJ, C1.NUMTVA, C1.TAUXTVA, C1.NUMDEV,
C2.RAISON as ConstrucRaison,
C4.CIVILITE, rtrim(C4.PRENOM) as CliCorrPrenom, rtrim(C4.NOM) as CliCorrNom,
C4.TELEPHONE as CliCorrTeleph, C4.FAX as CliCorrFax,
G.LIBGROUPE, T.RAISON, R.DESIGNATION as ReglementDesignation,
A.IDARTICLE, A.DESIGNATION as ArticleDesignation, A.REFCONST, A.NUMCAT
from CLICOT C, SOCIETE S, DEVISE D, CLICOTLG C1, GROUPE G,
CLICOTLG left outer join TRANSPOR T on C1.IDFOURNISS = T.IDTRANSPOR,
CLICOTLG left outer join ARTICLE A on C1.IDARTICLE = A.IDARTICLE,
ARTICLE left outer join CONSTRUC C2 on (C2.ABRCONST = A.ABRCONST),
CLICOT left outer join CLICORR C4 on C.IDCLICORR = C4.IDCLICORR,
CLICOT left outer join UTILISAT U on C.IDUTILISAT = U.IDUTILISAT,
CLICOT left outer join REGLEMEN R on C.NUMREGL = R.NUMREGL
where (C.IDCLICOT = {pC0CleUnik})
and (C.NUMSOC = S.NUMSOC)
and (C1.IDCLICOT = C.IDCLICOT)
and (C1.NUMDEV = D.NUMDEV)
and (U.IDGROUPE = G.IDGROUPE)
order by NUMENS, NUMGRP, NUMLIGNE

Est-ce que le problème ne peut pas venir des OUTER JOIN multiples (suur
CLICOTLG ici dans l'exemple) ?
Quelqu'un connait-il une solution rapide car j'ai suivi la pub PCSoft
"recompilez et ça marche" et j'ai mis en exploitation l'appli (utilisateurs
bloqués) ?
Je voudrais bien sûr éviter de tester toutes les requetes du projet une à
une !!!

Merci de vos réponses rapides.
P. Hantz

10 réponses

1 2
Avatar
FC
Essaye ca et dit nous si ca a fonctionné :

1) Supprime les requêtes de ton projet (pas du disque !!)
2) Ferme le projet
3) Supprime ton rep de compilation
4) Ré-ouvre le projet
5) Ré-intègre tes requêtes
6) Re compile tout le projet
7) Re teste tes requêtes.

Bonne chance !

"I.G.LOG" a écrit dans le message de news:
434a79fe$0$7868$
Bonjour à tous
Je viens de migrer une grosse appli de WD8 en 9 dernière version (34j)
Plusieurs de mes requètes ne fonctionnent plus: à l'exécution, j'ai le
message d'attente et les requetes ne renvoient pas de résultats !!!!!
Voici une des requetes qui ne fonctionne plus, alors qu'elle fonctionnait
parfaitement avec WD8:


SELECT C.IDCLICOT, C.TYPE, C.NUMERO, C.IDUTILISAT, C.NUMSOC, C.RAISON,
C.NUMDEVGEN, C.NUMDEVART, C.NUMDEVPRE,
C.ADRESSE1 as ClicotAdresse1, C.ADRESSE2 as ClicotAdresse2, C.CODEPOST as
ClicotCodePost, C.VILLE as ClicotVille, C.PAYS as ClicotPays,
C.DATE, C.DATEVALID, C.OBSERV1, C.OBSERV2, C.REFCLI, C.NUMTVA, C.CONDVEND,
rtrim(C.ABRLANGUE) as AbrLangue, C.REMISE as RemGen,
S.ADRESSE1 as SocieteAdresse1, S.ADRESSE2 as SocieteAdresse2, S.VILLE as
SocieteVille, S.CODEPOST as SocieteCodePost,
S.PAYS as SocietePays, S.TELEPHONE as SocieteTelephone, S.FAX as
SocieteFax,
S.FICLOGO, S.EMAIL,
C1.NUMERO as CliCotLGNumero, C1.NUMENS, C1.NUMGRP, C1.NUMLIGNE,
C1.DESIGNATION as CliCotLGDesignation, C1.ETAT, C1.QTE, C1.PRIX,
C1.REMISE,
C1.DELAIJ, C1.NUMTVA, C1.TAUXTVA, C1.NUMDEV,
C2.RAISON as ConstrucRaison,
C4.CIVILITE, rtrim(C4.PRENOM) as CliCorrPrenom, rtrim(C4.NOM) as
CliCorrNom,
C4.TELEPHONE as CliCorrTeleph, C4.FAX as CliCorrFax,
G.LIBGROUPE, T.RAISON, R.DESIGNATION as ReglementDesignation,
A.IDARTICLE, A.DESIGNATION as ArticleDesignation, A.REFCONST, A.NUMCAT
from CLICOT C, SOCIETE S, DEVISE D, CLICOTLG C1, GROUPE G,
CLICOTLG left outer join TRANSPOR T on C1.IDFOURNISS = T.IDTRANSPOR,
CLICOTLG left outer join ARTICLE A on C1.IDARTICLE = A.IDARTICLE,
ARTICLE left outer join CONSTRUC C2 on (C2.ABRCONST = A.ABRCONST),
CLICOT left outer join CLICORR C4 on C.IDCLICORR = C4.IDCLICORR,
CLICOT left outer join UTILISAT U on C.IDUTILISAT = U.IDUTILISAT,
CLICOT left outer join REGLEMEN R on C.NUMREGL = R.NUMREGL
where (C.IDCLICOT = {pC0CleUnik})
and (C.NUMSOC = S.NUMSOC)
and (C1.IDCLICOT = C.IDCLICOT)
and (C1.NUMDEV = D.NUMDEV)
and (U.IDGROUPE = G.IDGROUPE)
order by NUMENS, NUMGRP, NUMLIGNE

Est-ce que le problème ne peut pas venir des OUTER JOIN multiples (suur
CLICOTLG ici dans l'exemple) ?
Quelqu'un connait-il une solution rapide car j'ai suivi la pub PCSoft
"recompilez et ça marche" et j'ai mis en exploitation l'appli
(utilisateurs
bloqués) ?
Je voudrais bien sûr éviter de tester toutes les requetes du projet une à
une !!!

Merci de vos réponses rapides.
P. Hantz




Avatar
ManuPavy
I.G.LOG a écrit :
Bonjour à tous
Je viens de migrer une grosse appli de WD8 en 9 dernière version (34j)
Plusieurs de mes requètes ne fonctionnent plus: à l'exécution, j'ai le
message d'attente et les requetes ne renvoient pas de résultats !!!!!
Voici une des requetes qui ne fonctionne plus, alors qu'elle fonctionnait
parfaitement avec WD8:


SELECT C.IDCLICOT, C.TYPE, C.NUMERO, C.IDUTILISAT, C.NUMSOC, C.RAISON,
C.NUMDEVGEN, C.NUMDEVART, C.NUMDEVPRE,
C.ADRESSE1 as ClicotAdresse1, C.ADRESSE2 as ClicotAdresse2, C.CODEPOST as
ClicotCodePost, C.VILLE as ClicotVille, C.PAYS as ClicotPays,
C.DATE, C.DATEVALID, C.OBSERV1, C.OBSERV2, C.REFCLI, C.NUMTVA, C.CONDVEND,
rtrim(C.ABRLANGUE) as AbrLangue, C.REMISE as RemGen,
S.ADRESSE1 as SocieteAdresse1, S.ADRESSE2 as SocieteAdresse2, S.VILLE as
SocieteVille, S.CODEPOST as SocieteCodePost,
S.PAYS as SocietePays, S.TELEPHONE as SocieteTelephone, S.FAX as SocieteFax,
S.FICLOGO, S.EMAIL,
C1.NUMERO as CliCotLGNumero, C1.NUMENS, C1.NUMGRP, C1.NUMLIGNE,
C1.DESIGNATION as CliCotLGDesignation, C1.ETAT, C1.QTE, C1.PRIX, C1.REMISE,
C1.DELAIJ, C1.NUMTVA, C1.TAUXTVA, C1.NUMDEV,
C2.RAISON as ConstrucRaison,
C4.CIVILITE, rtrim(C4.PRENOM) as CliCorrPrenom, rtrim(C4.NOM) as CliCorrNom,
C4.TELEPHONE as CliCorrTeleph, C4.FAX as CliCorrFax,
G.LIBGROUPE, T.RAISON, R.DESIGNATION as ReglementDesignation,
A.IDARTICLE, A.DESIGNATION as ArticleDesignation, A.REFCONST, A.NUMCAT
from CLICOT C, SOCIETE S, DEVISE D, CLICOTLG C1, GROUPE G,
CLICOTLG left outer join TRANSPOR T on C1.IDFOURNISS = T.IDTRANSPOR,
CLICOTLG left outer join ARTICLE A on C1.IDARTICLE = A.IDARTICLE,
ARTICLE left outer join CONSTRUC C2 on (C2.ABRCONST = A.ABRCONST),
CLICOT left outer join CLICORR C4 on C.IDCLICORR = C4.IDCLICORR,
CLICOT left outer join UTILISAT U on C.IDUTILISAT = U.IDUTILISAT,
CLICOT left outer join REGLEMEN R on C.NUMREGL = R.NUMREGL
where (C.IDCLICOT = {pC0CleUnik})
and (C.NUMSOC = S.NUMSOC)
and (C1.IDCLICOT = C.IDCLICOT)
and (C1.NUMDEV = D.NUMDEV)
and (U.IDGROUPE = G.IDGROUPE)
order by NUMENS, NUMGRP, NUMLIGNE

Est-ce que le problème ne peut pas venir des OUTER JOIN multiples (suur
CLICOTLG ici dans l'exemple) ?
Quelqu'un connait-il une solution rapide car j'ai suivi la pub PCSoft
"recompilez et ça marche" et j'ai mis en exploitation l'appli (utilisateurs
bloqués) ?
Je voudrais bien sûr éviter de tester toutes les requetes du projet une à
une !!!



Le probleme des join multiples existe, ce que je trouve etrange, c'est
plutot que ca marchais avant.
Sinon, comment est elle appelée cette requete ? SQLExecWDR ? Oui, je
sais que moi, je les utilise le moins possible suite à différents
problèmes. J'ai préféré mettre le code de la requete dans une variable
texte et appeler ensuite via SQLExec() (ce qui me permet en plus lors du
deboggage de voir la chaine envoyée au serveur)

--
Manu
Avatar
Manu
"FC" wrote in message
news:434a7ba5$0$4316$
Essaye ca et dit nous si ca a fonctionné :

1) Supprime les requêtes de ton projet (pas du disque !!)
2) Ferme le projet
3) Supprime ton rep de compilation
4) Ré-ouvre le projet
5) Ré-intègre tes requêtes
6) Re compile tout le projet
7) Re teste tes requêtes.

Bonne chance !



<manu qui déconne>
Sinon tu égorges un poulet en dansant tout nu autour de ton PC
</manu qui déconne>
Avatar
FC
Autre idée : essaye aussi avec la version 33t. La 34j m'a laissé entrevoir
plusieurs régressions....

"I.G.LOG" a écrit dans le message de news:
434a79fe$0$7868$
Bonjour à tous
Je viens de migrer une grosse appli de WD8 en 9 dernière version (34j)
Plusieurs de mes requètes ne fonctionnent plus: à l'exécution, j'ai le
message d'attente et les requetes ne renvoient pas de résultats !!!!!
Voici une des requetes qui ne fonctionne plus, alors qu'elle fonctionnait
parfaitement avec WD8:


SELECT C.IDCLICOT, C.TYPE, C.NUMERO, C.IDUTILISAT, C.NUMSOC, C.RAISON,
C.NUMDEVGEN, C.NUMDEVART, C.NUMDEVPRE,
C.ADRESSE1 as ClicotAdresse1, C.ADRESSE2 as ClicotAdresse2, C.CODEPOST as
ClicotCodePost, C.VILLE as ClicotVille, C.PAYS as ClicotPays,
C.DATE, C.DATEVALID, C.OBSERV1, C.OBSERV2, C.REFCLI, C.NUMTVA, C.CONDVEND,
rtrim(C.ABRLANGUE) as AbrLangue, C.REMISE as RemGen,
S.ADRESSE1 as SocieteAdresse1, S.ADRESSE2 as SocieteAdresse2, S.VILLE as
SocieteVille, S.CODEPOST as SocieteCodePost,
S.PAYS as SocietePays, S.TELEPHONE as SocieteTelephone, S.FAX as
SocieteFax,
S.FICLOGO, S.EMAIL,
C1.NUMERO as CliCotLGNumero, C1.NUMENS, C1.NUMGRP, C1.NUMLIGNE,
C1.DESIGNATION as CliCotLGDesignation, C1.ETAT, C1.QTE, C1.PRIX,
C1.REMISE,
C1.DELAIJ, C1.NUMTVA, C1.TAUXTVA, C1.NUMDEV,
C2.RAISON as ConstrucRaison,
C4.CIVILITE, rtrim(C4.PRENOM) as CliCorrPrenom, rtrim(C4.NOM) as
CliCorrNom,
C4.TELEPHONE as CliCorrTeleph, C4.FAX as CliCorrFax,
G.LIBGROUPE, T.RAISON, R.DESIGNATION as ReglementDesignation,
A.IDARTICLE, A.DESIGNATION as ArticleDesignation, A.REFCONST, A.NUMCAT
from CLICOT C, SOCIETE S, DEVISE D, CLICOTLG C1, GROUPE G,
CLICOTLG left outer join TRANSPOR T on C1.IDFOURNISS = T.IDTRANSPOR,
CLICOTLG left outer join ARTICLE A on C1.IDARTICLE = A.IDARTICLE,
ARTICLE left outer join CONSTRUC C2 on (C2.ABRCONST = A.ABRCONST),
CLICOT left outer join CLICORR C4 on C.IDCLICORR = C4.IDCLICORR,
CLICOT left outer join UTILISAT U on C.IDUTILISAT = U.IDUTILISAT,
CLICOT left outer join REGLEMEN R on C.NUMREGL = R.NUMREGL
where (C.IDCLICOT = {pC0CleUnik})
and (C.NUMSOC = S.NUMSOC)
and (C1.IDCLICOT = C.IDCLICOT)
and (C1.NUMDEV = D.NUMDEV)
and (U.IDGROUPE = G.IDGROUPE)
order by NUMENS, NUMGRP, NUMLIGNE

Est-ce que le problème ne peut pas venir des OUTER JOIN multiples (suur
CLICOTLG ici dans l'exemple) ?
Quelqu'un connait-il une solution rapide car j'ai suivi la pub PCSoft
"recompilez et ça marche" et j'ai mis en exploitation l'appli
(utilisateurs
bloqués) ?
Je voudrais bien sûr éviter de tester toutes les requetes du projet une à
une !!!

Merci de vos réponses rapides.
P. Hantz




Avatar
Roumegou Eric
Manu vient de nous annoncer :
"FC" wrote in message
news:434a7ba5$0$4316$
Essaye ca et dit nous si ca a fonctionné :

1) Supprime les requêtes de ton projet (pas du disque !!)
2) Ferme le projet
3) Supprime ton rep de compilation
4) Ré-ouvre le projet
5) Ré-intègre tes requêtes
6) Re compile tout le projet
7) Re teste tes requêtes.

Bonne chance !



<manu qui déconne>
Sinon tu égorges un poulet en dansant tout nu autour de ton PC
</manu qui déconne>



<eric qui en rajoute>
tu passes tout en 10
</eric qui en rajoute>

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
I.G.LOG
Bonsoir
J'ai essayé de supprimer deux des requetes qui ne fonctionnaient plus.
Ensuite suppression du rep CPL, recompilation: ca marche toujours pas !!!
Je crois que la 9 ne gère pas les outer join multiples. Une des nouvelles
joies de Windev !!! J'ai eu tort semble-t-il de croire le "recompilez et
exécutez" !
J'ai transmis le problème au ST, j'attend leur réponse.

Pensez-vous que les requetes multiples fonctionnent avec le HF C/S ?
Est ce interressant de passer sur ce mode ? surtout au niveau performances:
je vous demande ça car j'ai de gros problèmes de performances avec la 8:
elles ont chutées SENSIBLEMENT lors de la migration depuis la 5.5, et ce
malgrè la modification du code (programmation des requetes SQL plutot que
vues etc...) cette migration m'a déjà demandé un boulot énorme... alors je
voudrais enfin trouver une solution assez simple et "rapide" pour régler ce
problème de perf. plus que dégradées !

Merci encore
Avatar
I.G.LOG
> Le probleme des join multiples existe, ce que je trouve etrange, c'est
plutot que ca marchais avant.
Sinon, comment est elle appelée cette requete ? SQLExecWDR ? Oui, je
sais que moi, je les utilise le moins possible suite à différents
problèmes. J'ai préféré mettre le code de la requete dans une variable
texte et appeler ensuite via SQLExec() (ce qui me permet en plus lors du
deboggage de voir la chaine envoyée au serveur)

--
Manu



Bonjour,
C'est un requete paramétrée appelée dans un état basé sur requete. J'ai
essayé de l'exécuter directement depuis "tester la requete" et avec
SQLExec(), le problème est le même: j'ai même un message, après un long
moment d'attente, "mémoire dynamique saturée".

Merci de vos idées
Avatar
ManuPavy
I.G.LOG a écrit :
Bonsoir
J'ai essayé de supprimer deux des requetes qui ne fonctionnaient plus.
Ensuite suppression du rep CPL, recompilation: ca marche toujours pas !!!
Je crois que la 9 ne gère pas les outer join multiples. Une des nouvelles
joies de Windev !!! J'ai eu tort semble-t-il de croire le "recompilez et
exécutez" !
J'ai transmis le problème au ST, j'attend leur réponse.



C'est pas nouveau ; en tout cas en passant par une correction HyperFile,
il met meme un warning au deuxieme join (outer -right ou left- ou inner)
Mais moi, je l'utilise en passant par SQLExec() et pas de pb (Edit apres
relecture : Ah mais je suis sur une base non HyperFile, c'est pour ca) .
As tu essayé de remplacer tes jointures propres par un produit cartésien
avec condition dans le where ?


Pensez-vous que les requetes multiples fonctionnent avec le HF C/S ?
Est ce interressant de passer sur ce mode ? surtout au niveau performances:
je vous demande ça car j'ai de gros problèmes de performances avec la 8:
elles ont chutées SENSIBLEMENT lors de la migration depuis la 5.5, et ce
malgrè la modification du code (programmation des requetes SQL plutot que
vues etc...) cette migration m'a déjà demandé un boulot énorme... alors je
voudrais enfin trouver une solution assez simple et "rapide" pour régler ce
problème de perf. plus que dégradées !



Probleme signalé, à force, j'ai laissé tomber pour coder comme
précedemment indiqué :

suite à :
| Bonjour,
| Je me fais un plaisir de découvrir la version 9
| de WinDev, cependant, un point manque : la gestion
| des requetes multi-table.En effet, j'utilise très souvent ce genre de
| requetes.
|
| Protocole de reproduction :
| select nom from tabA left join tabB on tabA.idA =
| tabB.idA left join tabC on tabC.idB = tabB.idB




transmis au service qualité sous référence 25162 ; sans réponse depuis
(23/12/2004):


Par contre, je m'étonne toujours du fait que ca marchait en 8.
La solution simple (mais pas rapide), serait de remplacer les jointures
par des PCart avec conditions (where)

--
Manu
Avatar
I.G.LOG
>
C'est pas nouveau ; en tout cas en passant par une correction HyperFile,
il met meme un warning au deuxieme join (outer -right ou left- ou inner)
Mais moi, je l'utilise en passant par SQLExec() et pas de pb (Edit apres
relecture : Ah mais je suis sur une base non HyperFile, c'est pour ca) .
As tu essayé de remplacer tes jointures propres par un produit cartésien
avec condition dans le where ?



Bonjour,
Non j'ai pas essayé, suis pas au fait des finesses du SQL !!!
produit cartésien = UNION ?


Probleme signalé, à force, j'ai laissé tomber pour coder comme
précedemment indiqué :

transmis au service qualité sous référence 25162 ; sans réponse depuis
(23/12/2004):




Oui j'ai le même rpoblème. Ils ont constaté la chute des performances, mais
ca n'a jamais été réglé. Je pense qu'ils mettent le "paquet" sur HF C/S et
qu'ils ont "oublié" HF classic

Par contre, je m'étonne toujours du fait que ca marchait en 8.
La solution simple (mais pas rapide), serait de remplacer les jointures
par des PCart avec conditions (where)

--
Manu



Ben pourtant ca marche en version 8 -315p
Avatar
I.G.LOG
> J'ai transmis le problème au ST, j'attend leur réponse.



Bon voilà leur réponse: veuillez nous transmettre bla bla bla ... Comme
d'hab lorsque c'est un problème sur lequel ils ne veulent pas se pencher en
gros !
Je crois que je fais finir par abandonner Windev :-( A chaque nouvelle
version c'est une catastrophe ! Aucun bugs que je leur ai signalé n'a été
réglé !

En tous cas merci à tous
1 2