Вывести переменную clob в файл, используя Spool - PullRequest
0 голосов
/ 26 апреля 2018

Я подключен к базе данных Oracle на удаленном сервере в SQL Developer.У меня есть скрипт PL / SQL, который хранит данные в переменной clob.Я хочу вывести данные этой переменной в файл на моем локальном компьютере .

Я столкнулся с SPOOL, но, похоже, я не правильно его использую.

Вот как выглядит мой скрипт:

set echo off
set serveroutput on FORMAT WRAPPED
set verify off
set feedback off
set termout off

DBMS_OUTPUT.ENABLE(1000000);

SPOOL C:\home\output.txt

declare
    content CLOB;
begin
    -- do something with content
end;

spool off

set termout on
set feedback on

Когда я запускаю скрипт, ничего не записывается в файл C: \ home \ output.txt.Я хочу, чтобы данные из переменной clob content были записаны в файл.

Как мне поступить?

Редактировать: Если кто-то знает лучший / другой способ записи переменной clobв файл (кроме SPOOL), пожалуйста, не стесняйтесь предлагать.

Редактировать 2: Возможно, стоит упомянуть, что моя переменная clob имеет содержимое больше 32767 байт.Я не знаю, как это повлияет на решение.

1 Ответ

0 голосов
/ 26 апреля 2018

Вы пробовали такой набор SET?

set linesize 32767 
set long 32767 
set longchunksize 32767 
set trimout on 
set trimspool on

spool output.txt

select clob_column
from your_table;

spool off

Поскольку CLOB длиннее 32767, он не помещается в одну строку.

...