|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Dans une action j'ai un XMLGram dans lequel j'importe un autre XMLGram, cet autre XMLGram utilise des caches, quand j'affiche le contenu XML de mon action les éléments du cache apparaissent plusieurs fois, d'ou cela peut il venir ?
|
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : janvier 2003 Messages : 85 ![]() |
Peux tu nous décrire un peu plus tes XMLGram ? Que mets tu en Cache ? Utilises tu un cache global ? Caches tu des grappes en fonction d'un paramètre ou non ?
__________________
Julien C. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
J'ai un XMLGram qui me sert dans plusieurs actions, ce XMLGram contient un cache me sert à récupérer plusieurs valeurs de paramétrage de ma base de données, par exemple le nombre d'enregistrements à afficher ;-) :
Donc j'ai 1 XMLGram qui contient 1 cache (Expires = -1 , Shared coché) qui contient plusieurs DBExtract (1 pour chaque paramètre). Ce XMLGram est ensuite importé dans chaque action qui en a besoin. |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : janvier 2003 Messages : 85 ![]() |
Je t'avoue que j'ai pas trop d'idée là...
__________________
Julien C. |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() |
Est-ce que tu n'aurais pas placer l'import en tant que fils d'un DBExtract par exemple ?
Dans ce cas, l'import serait executé pour chaque enregistrement récupéré lors du DBExtract, ce qui pourrait expliquer pourquoi tu vois plusieurs fois les elements. Sinon, post ton xmlgram histoire qu'on puisse jeter un coup d'oeil.
__________________
Nicolas |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
En gros mon XMLGram donne :
XMLGram |- Cache1 .... |- Cache2 ...... |- Cache3 |- DBExtract3.1 |- DBExtract3.2 |- DBExtract3.3 Le résultat de ce XMLGram donne n fois le Cache1, n fois le Cache2 et 3 fois le cache 3, si j'ajoute un DBExtract3.4 en dessous de cache3, le cache 3 apparait alors 4 fois ... cela dépend en fait du nombre de DBExtract ... bizarre |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() |
euh... ca parait strange en effet
tu peux ouvrir le xmlgram avec le notepad et faire un copier-coller massif de tout ca ? Avec le XMLGRAM qui fait l'import aussi
__________________
Nicolas |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
XMLGram qui importe :
--------------------------- <?xml version="1.0" encoding="ISO-8859-1"?> <!-- edited with XML Spy v4.2 (http://www.xmlspy.com) by Fabien (Thalassa) --> <xmlgram name="About"> <Import> <HRef>Test.xmlgram</HRef> <Select>/xmlgram/*</Select> </Import> </xmlgram> XMLGram Importé : ----------------------- <?xml version="1.0" encoding="ISO-8859-1"?> <!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by user user (THALASSA INGENIERIE INFORMATIQUE) --> <xmlgram name="Test"> <Cache Name="CACHEDETEST"> <Expires>-1</Expires> <Shared>1</Shared> <Params/> <DBExtract Name="A"> <Fields/> <DataSource>CopieBDD</DataSource> <Kind>Single</Kind> <MaxRows>1</MaxRows> <Statement><![CDATA[SELECT PARNUMERIC FROM PARAMS WHERE PARMOTCLE = 'NBARTICLESLISTECOMPACTE']]></Statement> <MultipleContainerName/> <RecordName/> <GenerateOutput>True</GenerateOutput> <ReplaceBlankValues/> <Object>QUERY</Object> <Filter/> <Params/> </DBExtract> <DBExtract Name="B"> <Fields/> <DataSource>CopieBDD</DataSource> <Kind>Single</Kind> <MaxRows>1</MaxRows> <Statement><![CDATA[SELECT PARNUMERIC FROM PARAMS WHERE PARMOTCLE = 'NBARTICLESLISTEDETAILLEE']]></Statement> <MultipleContainerName/> <RecordName/> <GenerateOutput>True</GenerateOutput> <ReplaceBlankValues/> <Object>QUERY</Object> <Filter/> <Params/> </DBExtract> </Cache> </xmlgram> Et dans le résultat : ---------------------- - <A> <PARNUMERIC>3</PARNUMERIC> </A> - <B> <PARNUMERIC>7</PARNUMERIC> </B> - <A> <PARNUMERIC>3</PARNUMERIC> </A> - <B> <PARNUMERIC>7</PARNUMERIC> </B> |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() |
J'arrive effectivement a reproduire le problème, je remonte l'info.
Workaround: faire une instruction cache par DBExtract, cela permet d'être plus souple dans la composition des données du document de sortie.
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#10 | |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Citation:
|
|
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : janvier 2003 Messages : 85 ![]() |
Je crois que RDM te conseille de mettre un seul DBExtract par instruction Cache. Visiblement tu as un DBExtract "A" et "B". Créés deux instructions Cache "CacheA" et "CacheB" dans lesquels tu mets respectivements tes DBExtract "A" et "B".
__________________
Julien C. |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Oui, mais en quoi mon document sera plus souple ?
|
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() |
le degré de granularité du cache est plus fin en mettant une insutrction DBExtract par instruction Cache.
Actuellement, tu as la grappe A+B qui est mise en cache. Si a un moement tu n'as besoin que de B par exemple il te sera impossible de le dissocier de A. si tu dois mettre à jour le cache, tu dois réeffectuer obligatorement les 2 requêtes. Si tu as une requête C et que tu veuilles faire A+C ou bien B+C tu auras un peu de mal ;-)
__________________
RDM Tout Est Relatif Rubrique XMLRAD: http://xmlrad.developpez.com FAQ XMLRAD: http://xmlrad.developpez.com/faq/ |
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2002 Messages : 92 ![]() |
Ah oui en effet, en fait dans mon cas j'ai utilisé 5 caches mais il y a des informations que j'utilise toujours en même temps donc je les ai regroupées dans 1 seul et c'est là que j'ai rencontré mon problème.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com