2010-04-07 8 views
0

Je lance une requête qui renvoie des données XML et des spoulages dans un fichier. J'ai un problème où la sortie de la requête est tronquée. Voici à quoi il ressemble:Rapport sqlplus - Données XML tronquées

XMLDATA           
----------------------------------------   
<?xml version="1.0" standalone="yes"?>   
<msgs>           
    <msg>           
    <PNUM>ABC12345      

Ce que je suis expection était quelque chose comme ceci:

XMLDATA           
----------------------------------------   
<?xml version="1.0" standalone="yes"?>   
<msgs>           
    <msg>           
    <PNUM>ABC1234567</PNUM> 
    <MSG_ID>1234</MSG_ID> 
    <NAME>Test message</NAME> 
    <TEXT>This is the main content of the message</TEXT> 
    </msg> 
    <!-- about 60 other msg elements --> 
</msgs> 

La déclaration select est assez simple:

select xmlroot(xmlelement("msgs",xmlagg(xmlelement("msg",xmlforest(PNUM , MSG_ID , NAME, TEXT)))), VERSION '1.0', STANDALONE YES) xmldata 
from ... 

Je suppose qu'il ya une mise en forme sqlplus truc ici, je ne sais pas lequel (ou même comment ça s'appelle).

(version Oracle est 10g)

Répondre

4

This pourrait aider:

La largeur par défaut des colonnes de type est la largeur de la colonne dans la base de données . La largeur de colonne d'un long CLOB, NCLOB ou par défaut XMLType à la valeur de SET LONGCHUNKSIZE ou SET LONG, selon ce qui est le plus petit, alors je mis à la fois long et LONGCHUNKSIZE à 32K et cela a fonctionné admirablement.

+0

Merci, cela a fonctionné! :) Pour moi, le réglage «SET LONG 5000000» semble fonctionner pour toutes mes données. Régler 'LONGCHUNKSIZE' ne semble pas faire grand-chose. – FrustratedWithFormsDesigner

Questions connexes