oracle sql разработчик обрезает мои результаты - PullRequest
7 голосов
/ 08 апреля 2010

Я вызываю хранимую функцию следующим образом:

select XML_INVOICE.GENERATE_XML_DOC('84200006823') from dual;

Результаты запроса затем отображаются в таблице внизу, которую я могу щелкнуть правой кнопкой мыши и выбрать «Экспорт данных» -> XML

<?xml version='1.0'  encoding='UTF8' ?>
<RESULTS>
  <ROW>
    <COLUMN NAME="XML_INVOICE.GENERATE_XML_DOC('84200006823')" <![CDATA[<xml>yada yada</xml><morexml>...]]></COLUMN>
  </ROW>
</RESULTS>

Проблема в том, что «...» - SQL Developer (2.1.0.63 в Linux) не показывает все данные - его усечение результата и добавление многоточия. Это бесполезно для меня. Как мне заставить его экспортировать ВСЕ мои данные?

Ответы [ 4 ]

10 голосов
/ 12 января 2017

У меня была такая же проблема в SQL Developer 4. Вот что у меня сработало:

set long 100000;
set longchunksize 100000;

А затем повторите запрос. Теперь вы сможете увидеть полную ячейку в виде сетки и экспортировать ее также в csv.

(ОП больше не работает с той же работой или не использует Oracle, но этот вопрос - один из первых результатов в Google, поэтому, надеюсь, это поможет людям с такой же проблемой.)

0 голосов
/ 09 апреля 2010

Другое решение - написать файл XML, см. Пример ниже, и настроить его так:

CREATE OR REPLACE PROCEDURE output_xml_file 
(inFileName         Varchar2 )   --user defined prefix for file name        
 AS

            fp UTL_FILE.FILE_TYPE;   
                v_filename  VARCHAR2(150);
            v_XML_Result VARCHAR2(4000);    

BEGIN

          v_filename:=infilename||'.xml';

          fp := UTL_FILE.FOPEN('c:\pathtofolder', v_filename, 'W', 4000);

          select XML_INVOICE.GENERATE_XML_DOC(inFileName) into v_XML_Result from dual; 

          UTL_FILE.PUT_LINE(fp, v_XML_Result);
          UTL_FILE.FCLOSE(fp);

          EXCEPTION

            WHEN OTHERS THEN

              UTL_FILE.FCLOSE(fp);
              raise;
    END output_xml_file;
    /
    SHOW ERRORS;
    GRANT EXECUTE ON output_xml_file TO PUBLIC;
0 голосов
/ 10 ноября 2010

Запускать как скрипт (F5), а не как оператор (Ctrl + Enter)

Выходные данные затем перейдут в окно «Вывод сценария», а не в «Вывод запроса», и вы сможете скопировать и вставить его

0 голосов
/ 09 апреля 2010

1) Вставьте результат SP в таблицу

выберите XML_INVOICE.GENERATE_XML_DOC ('84200006823') в schema.table из двойного;

(будет только один ряд)

Используйте exp для экспорта таблицы

EXP имя пользователя / пароль @ instance TABLES = (имя таблицы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...