﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Oracle / Базы данных  / проблема с выгрузкой из clob в file / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Wed, 03 Dec 2008 05:27:04 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: проблема с выгрузкой из clob в file</title><link>http://www.relib.com/forums/Topic882465-21-1.aspx</link><description>Я пробовал выгружать в файл с помощью PL/SQL, но больше 200 Кбайт файл не сохранялся.В итоге извернулся - написал класс на Java.</description><pubDate>Thu, 01 Dec 2005 14:17:00 GMT</pubDate><dc:creator>morenko</dc:creator></item><item><title>проблема с выгрузкой из clob в file</title><link>http://www.relib.com/forums/Topic882465-21-1.aspx</link><description>Проблема такая: при выгрузке из clob в текстовый файл построчно скрипт вылетает с ошибкой записи в файл Сама выгрузка сделана по дяде Тому [url]  http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:744825627183[/url] вот урезанный скрипт - весь приводить бессымсленно - остальной кусок являет собой выгрузку в xml с последующей конвертацией в clob[code]  declare   l_offset number;   temp_node clob;   temp varchar2(16000 byte); begin   l_offset := 1; -- указатель копирования в исходную позицию   while (l_offset &lt; 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; [/code] вылетает не спервой строки а с 15 (14 строк выгружает без вопросов) если ополовиниваю смещение вылетает на 7 строке начинка строк xml - я весь скрипт просто не стал приводить причем в другом скрипте выгрузка не таких долинных строк работает без вопросов - выгружает аж 51 МГ понимаю что столкнулся с каким-то ограничением но что за ограничение и как его обходить не понимаю можек кто подскажет? долблюсь вторые сутки а толку 0</description><pubDate>Wed, 12 Oct 2005 14:31:00 GMT</pubDate><dc:creator>smolbars</dc:creator></item></channel></rss>