проблема с выгрузкой из clob в file
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



проблема с выгрузкой из clob в file Expand / Collapse
Автор
Сообщение
12.10.2005 14:31
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 12.10.2005 14:24
Сообщ.: 3, Visits: 34
Проблема такая:
при выгрузке из clob в текстовый файл построчно скрипт вылетает с ошибкой записи в файл
Сама выгрузка сделана по дяде Тому


http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:744825627183

вот урезанный скрипт - весь приводить бессымсленно - остальной кусок являет собой выгрузку в xml с последующей конвертацией в clob

declare
l_offset number;
temp_node clob;
temp varchar2(16000 byte);
begin
l_offset := 1; -- указатель копирования в исходную позицию
while (l_offset < length(temp_node)) -- цикл копирования из clob в
--строку для записи в файл
loop
-- (сделано для обхода ограничения oracle на работу с текстовыми
--файлами)
UTL_FILE.fclose(fname_handle); -- переоткрыть файл
fname_handle := UTL_FILE.fopen(''IMPDIR'',fname,''a'',32000); -- и дописывать в
--конец
temp := dbms_lob.substr(temp_node,32000,l_offset);
-- записать ту часть которая влезает в размер строки (32000) с заданного
--места
temp := dbms_lob.substr(temp_node,16000,l_offset);
UTL_FILE.put_line(fname_handle,temp,true);
UTL_FILE.FFLUSH(fname_handle);
l_offset := l_offset + 32000; -- сместить указатель на 32000
end loop;
end;

вылетает не спервой строки а с 15 (14 строк выгружает без вопросов)
если ополовиниваю смещение вылетает на 7 строке
начинка строк xml - я весь скрипт просто не стал приводить
причем в другом скрипте выгрузка не таких долинных строк работает без вопросов - выгружает аж 51 МГ
понимаю что столкнулся с каким-то ограничением но что за ограничение и как его обходить не понимаю
можек кто подскажет? долблюсь вторые сутки а толку 0
Сообщ. #882465
01.12.2005 14:17
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 01.12.2005 15:42
Сообщ.: 8, Visits: 89
Я пробовал выгружать в файл с помощью PL/SQL, но больше 200 Кбайт файл не сохранялся.
В итоге извернулся - написал класс на Java.
Сообщ. #885947
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 2:33