Hallo Marcus,
du scheinst die Antwort schon gefunden zu haben, trotzdem möchte ich das entsprechende Oracleforum erwähnen
XML-DB
Danke für den Link. So etwas hatte ich gesucht. Allerdings ist da eine Anfrage vom 3. Nov, die meinem Problem sehr ähnlich und nicht eine Antwort hat. Ich denke, dass ist ein Forum mit Spezialisten, wie XML in Oracle abgelegt werden kann.
@Christian
War mir eine Freude und Selbstverständlichkeit. Das Selfforum hat mir so oft weitergeholfen (sowohl der aktive Part als auch das Archiv), dass ich gerne meinen Beitrag leiste.
Ich habe noch ein zusätzliches Problem gelöst, welches ich so auch nicht googlen konnte. Einen Zeitstempel innerhlb der XML ausgeben, um
a) die Aktualität des Exports anzugeben und
b) die zeitliche Belastung der DB auszuwerten
set heading off
set long 180
set linesize 180
set trimspool on
connect xxx/xxx@xxdb
COLUMN start_time new_val start_tag
SELECT '<start_time>'||TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')||'</start_time>' start_time from dual;
spool test.xml
REPHEADER left "<?xml version='1.0'?>" skip left "<DB>" skip left "<Table1>"
REPFOOTER left "</Table1>"
select xmlelement("rows",xmlforest(col1,col2,col3,col4)) from table1;
REPHEADER left "<Table2>"
REPFOOTER left "</Table2>"
select xmlelement("rows",xmlforest(col1,col2,col3)) from table2;
prompt &start_tag
REPHEADER left "<end_time>"
REPFOOTER left "</end_time>" skip left "</DB>"
COLUMN end_time new_val todaysdate
SELECT TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') end_time from dual;
spool off
exit;
Heraus kommt eine XML-Datei mit zwei Tabellen.
<?xml version='1.0'?>
<DB>
<Table1>
<rows><col1>wert1</col1><col2>wert1</col2><col3>wert1</col3><col4>wert1</col4></rows>
<rows><col1>wert2</col1><col2>wert2</col2><col3>wert2</col3><col4>wert2</col4></rows>
</Table1>
<Table2>
<rows><col1>wert1</col1><col2>wert1</col2><col3>wert1</col3></rows>
</Table2>
<start_time>20081104180551</start_time>
<end_time>
20081104180551
</end_time>
</DB>
Google Suchwöter: Oracle sql export spool in into xml write output text ausgeben mehrere Tabellen valide time stamp Zeitstempel variable zeitvergleich
bydey
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with PHP Project Browser--