отчет sqlplus - усеченные данные XML - PullRequest
0 голосов
/ 07 апреля 2010

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

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

То, что я ожидаю, было примерно таким:

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)

1 Ответ

4 голосов
/ 07 апреля 2010

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

Ширина столбцов типов данных по умолчанию ширина столбца в база данных. Ширина столбца ДЛИНА, CLOB, NCLOB или XMLType по умолчанию значение SET LONGCHUNKSIZE или SET ДОЛГО, какой бы ни меньше, поэтому я установить ОБА ДОЛГО и ДЛИННЫЙ РАЗМЕР до 32K, и он работал прекрасно.

...