bonjour,
je cherche un code java qui me permettra d insérer des données lises à partir d'un fichier xml dans une base de données oracle.
quelqu un peut m'aider pour réaliser ceci?
bonjour,
je cherche un code java qui me permettra d insérer des données lises à partir d'un fichier xml dans une base de données oracle.
quelqu un peut m'aider pour réaliser ceci?
Via le package DBMS_XMLSAVE tu peux faire comme ceci :
Exemple de fichier xml2.xml crée dans /partage du serveur de base de données
le code XML à l'intérieur de xml2.xml est :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <mon_doc> <ROW num="1"> <NB1>123</NB1> <CHPS1>toto1</CHPS1> <CHPS2>toto2</CHPS2> <CHPS3>toto3</CHPS3> <DAT1>01/03/2004 13:35:59</DAT1> </ROW> </mon_doc> Pour le charger , lancer: conn user/XXX@base drop table test_xml; create table test_xml ( nb1 number, chps1 varchar2(5), chps2 varchar2(5), chps3 varchar2(5), DAT1 date); CREATE OR REPLACE procedure insert_xml( p_directory in varchar2, p_filename in varchar2, vtableName in varchar2 ) AS v_filelocator bfile; v_cloblocator clob; l_ctx DBMS_XMLSAVE.ctxType; insCtx DBMS_XMLSave.ctxType; l_rows number; BEGIN DBMS_LOB.createtemporary( v_cloblocator, true ); v_filelocator := bfilename( p_directory, p_filename ); DBMS_LOB.open( v_filelocator, dbms_lob.file_readonly ); DBMS_LOB.loadfromfile( v_cloblocator, v_filelocator, dbms_lob.getlength( v_filelocator ) ); l_ctx := DBMS_XMLSAVE.newContext( vTableName ); DBMS_XMLSave.setDateFormat(insCtx, 'dd/MM/yyyy HH:mm:ss'); l_rows := DBMS_XMLSAVE.insertxml( l_ctx, v_cloblocator ); DBMS_XMLSAVE.closeContext( l_ctx ); DBMS_OUTPUT.put_line( l_rows || ' rows inserted...'); DBMS_LOB.close( v_filelocator ); DBMS_LOB.FREETEMPORARY( v_cloblocator ); EXCEPTION WHEN OTHERS THEN DBMS_LOB.filecloseall; raise; END insert_xml; / CREATE OR REPLACE DIRECTORY path AS '/partage'; exec insert_xml( 'PATH','xml2.xml','test_xml'); commit; select * from test_xml;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager