dey: SQL export into XML (Oracle)

Beitrag lesen

Hallo,

ich versuche einen Export aus einer Oracle Datenbank in eine XML-Text-Datei hinzubekommen. Dabei plagen mich 2 - 3 Probleme.
1. Zeilenlänge
Ich bekomme trotz set long 180 (ergo >80) keine Zeile länger als 80 Zeichen hin. Es scheint irgendwie am CMD-Fenster von MS zu liegen. Behalte ich dieses Fenster sichtbar (ohne exit;) sehe ich die gleiche Darstellung, wie in der XML-Datei.
Lasse ich mir xmlelement.... allerdings im SQL+ zeigen sind die Zeilen vollständig.

2. Tabellenname
Im moment kann ich nur Zeilen darstellen aber kein XML Rahmenkonstrukt.
Ich will die XML weiterverarbeiten mit <xsl:value-of select="document(... Die Angabe der XML version scheint hierbei nicht notwendig zu sein; könnte ich also darauf verzichten.
Aber ein, die Zeilen umgebendes Wurzelelement scheint notwedig zu sein:

  
<tabelle>  
  <zeile>...</zeile>  
  <zeile>...</zeile>  
</tabelle>  

Wie bekomme ich das hin?

3. Mehrere Tabellen auslesen
Ich würde gerne 3 Tabellen in eine XML zusammenfassen. Scheint mir zum Weiterverarbeiten einfacher.

Mit diesen Codeschnipseln probiere ich gerade rum:

  
set heading off  
set long 180  
--set feedback off  
set trimspool on  
  
connect xxxx/xxxx@db  
  
spool T_DID.xml  
select xmlelement("T_DID",xmlattributes(DIDDID,DIDBAR,DIDQTY,DIDLOQ,DIDVND,DIDLOT,DIDDTE,DIDLOC)) from T_DID;  
  
select xmlelement("T_DID",xmlattributes(DIDDID),xmlforest(DIDBAR,DIDQTY)) from T_DID;  
--set echo on  
--set echo off  
spool off  
-- exit;  

bydey

--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with  PHP Project Browser--