Bonjour,
Voici le problème, j'ai un fichier xml que j'essaie d'intégrer dans une table.
Sur un xml simple, cela fonctionne.
Par contre j'ai du modifié mon xml.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 select mon_xml_parse.* from xmltable('$e/Agent' passing xmlparse(content ' <Agent> <Matricule>000000</Matricule> <PrecompteObligatoire> <Type>VCN</Type> <Nature>OUV</Nature> <Reliquat>3600,61</Reliquat> </PrecompteObligatoire> </Agent> <Agent> <Matricule>000001</Matricule> <PrecompteObligatoire> <Type>PAT</Type> <Nature>OUV</Nature> <Reliquat>3600,61</Reliquat> </PrecompteObligatoire> </Agent>') as "e" columns matric char(6) path 'Matricule', phtype char(3) path 'PrecompteObligatoire/Type', nature char(3) path 'PrecompteObligatoire/Nature', reliquat number(18,2) path 'PrecompteObligatoire/Reliquat' ) mon_xml_parse;
Si mon xml est comme ceci ça ne marche plus
je récupère cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <Agent> <Matricule>000000</Matricule> <PrecompteObligatoire> <Type>VCN</Type> <Nature>OUV</Nature> <Reliquat>3600,61</Reliquat> </PrecompteObligatoire> <Matricule>000001</Matricule> <PrecompteObligatoire> <Type>PAT</Type> <Nature>OUV</Nature> <Reliquat>3600,61</Reliquat> </PrecompteObligatoire> </Agent>'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ORA-19279: XPTY0004 - non-concordance de type dynamique XQuery : attente d'une séquence mono-élément - obtention d'une séquence multi-élément 19279. 00000 - "XQuery dynamic type mismatch: expected singleton sequence - got multi-item sequence" *Cause: The XQuery sequence passed in had more than one item. *Action: Correct the XQuery expression to return a single item sequence.
Autre point, le xml de départ est codé comme suit
et non pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part <Matricule V="000000"/>
mais il ne sait pas lire la première forme et me sort Null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <Matricule>000000</Matricule>
Avez-vous des idées?
Partager