IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XMLRAD Discussion :

XMLGram, Import et cache


Sujet :

XMLRAD

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 92
    Points : 55
    Points
    55
    Par défaut XMLGram, Import et cache
    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 ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Points : 99
    Points
    99
    Par défaut
    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 ?

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    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.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Points : 99
    Points
    99
    Par défaut
    Je t'avoue que j'ai pas trop d'idée là... : Un petit coup de débug ce serait pas mal pour essayer d'identifier la cause de ton problème.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    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.

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    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

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    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

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    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>

  9. #9
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    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.

  10. #10
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    faire une instruction cache par DBExtract
    Je ne comprends pas bien ce que tu veux dire ...

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 85
    Points : 99
    Points
    99
    Par défaut
    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".

  12. #12
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    Oui, mais en quoi mon document sera plus souple ?

  13. #13
    RDM
    RDM est déconnecté
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Points : 2 927
    Points
    2 927
    Par défaut
    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 ;-)

  14. #14
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    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.

Discussions similaires

  1. Importance du cache des séquences
    Par totot dans le forum Oracle
    Réponses: 4
    Dernier message: 06/04/2015, 22h10
  2. Réponses: 0
    Dernier message: 21/04/2008, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo