2010-04-07 2 views
0

Я запускаю запрос, который возвращает данные XML и катушки в файл. У меня проблема, когда вывод запроса усекается. Вот как это выглядит:sqlplus report - данные XML усекаются

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

Что я expection было что-то вроде этого:

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> 

select утверждения достаточно просто:

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

Я предполагаю, что есть некоторые SQLPLUS форматирование трюк здесь, я просто не знаю, какой (или даже то, что он называется).

(Oracle версии 10g)

ответ

4

This может помочь:

Ширина по умолчанию столбцов типа ширина столбца в базе данных . Ширина колонки длинного, CLOB, NCLOB или XMLType по умолчанию к значению SET LONGCHUNKSIZE или SET LONG, в зависимости от того, чем меньше, так что я установить и длинные и LONGCHUNKSIZE 32К, и она работала прекрасно.

+0

Спасибо, что сработало! :) Для меня установка 'SET LONG 5000000', похоже, работает для всех моих данных. Установка 'LONGCHUNKSIZE', похоже, мало что делает. – FrustratedWithFormsDesigner