powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / CLOB и Oracle Forms 6i
14 сообщений из 14, страница 1 из 1
CLOB и Oracle Forms 6i
    #33601412
vava04
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа!
Никто не поможет?
Есть базовая функция возвращаюшая CLOB.
Задача - вызвать из Forms-ов и результат функции записать в файл. Размер CLOB может быть до 20M.

Спасибо.
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601479
FRM-42100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне кажется, тут больше подойдет Reports.
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601528
Фотография Trooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такой функции нет. Имеется ввиду одной функции (стандартной).
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601586
Sqaimes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как насчет TEXT_IO?
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601591
Фотография Tolmachov Dmitiry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно по-подробнее о задаче? У тебя есть собственная функция на сервере, которая возвращает CLOB. Надо результат записать в файл на клиенте. Есть Forms. Если так, то предлагаю такой вариант. На сервере создаешь функцию, которая читает часть твоего CLOB (DBMS_LOB.SUBSTR) и возвращает ее как строку. Эту строку записываешь с помощью методов File I/O в файл. В цикле выполняешь операцию, пока не считаешь весь CLOB. Так как тип LOB - строковый, то проблем с типами файлов не должно быть.
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601608
vava04
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что даже при выполнении триггера с текстом типа:
declare
v# clob;
begin

v#:=FunctionReturnClob(...);

end;

Формсы падают... :(
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601633
Фотография Tolmachov Dmitiry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот поэтому всю обработку перенеси на сервер. А в Forms возвращай Varchar2 - часть CLOB. Что-то типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
myPack.Read_CLOB;

While NOT myPack.CLOB_End Loop
  l_CLOB_Part := myPack.Get_CLOB_Part;
  Операции_File_IO;
End loop;
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601651
Sqaimes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что касается TEXT_IO (как делается):
Для записи в файл :
1.Объявить переменную управления файлом (file handle), которая будет служить указателем на файл для последующих обращений к процедуре TEXT_IO, чтобы манипулировать содержимым файла.
2.Открыть файл, вызвав FOPEN. Файл можно открыть для замены или для добавления текста.
3.Записать данные в файл, используя для этого процедуры PUT, PUTF или PUT_LINE.
4.Закрыть файл, вызвав FCLOSE.
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601654
vava04
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получается, что функцию, которая возвращает clob надо вызывать столько же раз, сколько раз я буду доставать из нее varchar2?
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601663
vava04
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SqaimesЧто касается TEXT_IO (как делается):
Для записи в файл :
1.Объявить переменную управления файлом (file handle), которая будет служить указателем на файл для последующих обращений к процедуре TEXT_IO, чтобы манипулировать содержимым файла.
2.Открыть файл, вызвав FOPEN. Файл можно открыть для замены или для добавления текста.
3.Записать данные в файл, используя для этого процедуры PUT, PUTF или PUT_LINE.
4.Закрыть файл, вызвав FCLOSE.

Как пользовать TEXT_IO я в курсе. Проблема не в этом.
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601671
Фотография Tolmachov Dmitiry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vava04Получается, что функцию, которая возвращает clob надо вызывать столько же раз, сколько раз я буду доставать из нее varchar2?Да зачем! Вызывай один раз, сохрани CLOB в переменную пакета, а потом читай из переменной пакета ее части. И все...
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601680
vava04
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tolmachov Dmitiry vava04Получается, что функцию, которая возвращает clob надо вызывать столько же раз, сколько раз я буду доставать из нее varchar2?Да зачем! Вызывай один раз, сохрани CLOB в переменную пакета, а потом читай из переменной пакета ее части. И все...

ок
пробую
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601682
Фотография Tolmachov Dmitiry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более, что для чтения нужен всего лишь локатор CLOB, а не сам CLOB.
...
Рейтинг: 0 / 0
CLOB и Oracle Forms 6i
    #33601742
Фотография Trooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sqaimesа как насчет TEXT_IO?

я думал, что функция нужна в одном лице: получение CLOB и сохранение в файл. Вообще можно самому написать по получению CLOB это не сложон, типа указываешь таблицу, столбец и услвоия определения строки на вход, а она тебе CLOB или BLOB. А сохранить то не сложно.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / CLOB и Oracle Forms 6i
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]