Bonjour,
Je dois faire une procédure pl/sql qui génère un fichier xml dans un répertoire spécifique, pour pourvoir l'intégré dans un autre logiciel.
J'ai découvert plein de truc sympathique que je ne soupçonnais pas avec Oracle.
XMLELEMENT, XMLATTRIBUTS, ... j'arrive à avoir un affichage XML, mais je n'arrive pas à généré de fichier.
j'ai essayer avec le script trouver dans la FAQ
http://oracle.developpez.com/faq/?pa...-au-format-XML
Mais j'ai le message suivant: l'identificateur 'DBMS_XMLQUERY.GETXML' doit être déclaré
j'ai essayé aussi avec les fonctions de DBMS_XMLDOM.writeToFile l'ai le message "DBMS_XLMDOM.DOMDOCUMENT' doit étre déclaré.
Je suis en oracle 11g.
Dois-je installé ces packages sur oracle ?
Où les trouver ?
J'ai les DBMS_XMLGEN et DBMS_XMLSTORE de disponible mais je n'ai rien trouvé pour créer un fichier xml.
Merci de votre aide.
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
25
26
27
28
29
30
31
32
33
34 create or replace PROCEDURE write_orders IS CURSOR order_xml_cur IS SELECT XMLElement("XDOC", XMLElement("MESSAGEVERSION", '1.0'), XMLElement("MESSAGETOPIC",'machinmachin'), XMLElement("ENVIRONNEMENT", XMLElement("DDENVNME",'DEM') ) ,XMLElement("FOLDERLIST", XMLElement("FOLDER", XMLFOREST('1' "DDWRKRGCHK", '7' "DDPRPASKFN", 'P01' "DDDDBID", 'A03' "DDFLDID" ) ) ) ).extract('/') as xml_output FROM dual; v_DomDoc DBMS_XMLDOM.DOMDocument; v_FileName VARCHAR2(80); v_OutputDir VARCHAR2(80) := 'C:\export\'; BEGIN FOR rc_order IN order_xml_cur LOOP v_DomDoc := DBMS_XMLDOM.newDOMDocument(rc_order.xml_output); v_FileName := v_OutputDir || 'test.xml'; DBMS_XMLDOM.writeToFile(v_DomDoc, v_FileName); END LOOP; END;
Partager