powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Фаил записать в базу/таблицу с полями СLOB и BLOB
14 сообщений из 39, страница 2 из 2
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263567
Egoр,

блин. Топчусь на месте.Решение должно быть простое...
А что если с SQLLOADER решить задание?
Может ли что то в этом роде работать

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
load data
infile 'TEXT_AND_B'
into table IMP truncate
when (1:2) = 'TE'
(
  ROWNUMBER     recnum
, TEXT      raw(1000000)
)
into table xy truncate
when (1:2) = 'BI'
(
  ROWNUMBER    recnum
, BINARIES      raw(1000000)
)
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263571
EgoрHans Christian Andersen,

Тогда свой разборщик напишите, это, имхо, не сложно.
Обратите внимание, если вас внутри строки, начинающейся с BI, может встретиться CRLF,
то нужно как-то отличать окончание BI-строки от содержимого BI-строки?

CRLF должен появиться только в конце строки.
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263588
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hans Christian Andersenблин. Топчусь на месте.Решение должно быть простое...С тех пор как мы поставили загрузку lob-данных на поток, вопросы по их сложной предварительной обработке снялись сами собой.
Весь процесс внутри БД и sqlloader больше не применяем.
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263614
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgoрElicЧудак, с большими бинарными данными принято работать через буфера бинарных же типов.Все было бы так, если бы substr и instr для varchar2 не работали бы в разы быстрее, чем их аналоги для лобов.Зачем с raw работать lob-функциями?
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263624
Egoр,

подправил скрипт SQLLOADER.
Работает.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
load data
infile 'TEXT_AND_B'
into table IMP truncate
when (1:2) = 'TE'
(
  ROWNUMBER     recnum
, TEXT   position (1)   raw(1000000)
)
into table xy truncate
when (1:2) = 'BI'
(
  ROWNUMBER    recnum
, BINARIES    position (1)  raw(1000000)
)


Есть ли у кого пример решения задачи без SQLLOADER? Например с dbms_lob.
Был бы очень благодарен.
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263665
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicЗачем с raw работать lob-функциями?Когда речь идет про crlf, то это уже не совсем raw. А раз не совсем raw, то уже можно предполагать разное.
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263678
EgoрElicЗачем с raw работать lob-функциями?Когда речь идет про crlf, то это уже не совсем raw. А раз не совсем raw, то уже можно предполагать разное.чудак, как ты из блоба получишь varchar2? и что ты будешь делать, если блоб, который якобы текст, в кодировке utf8?
автор не в состоянии грамотно поставить задачу, допускаю обсуждать между собой гипотетические преимущества вариантов каких-то своих частных задач. но нужно сформулировать задачу полноценно, привести шаги решения полностью.
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263767
может в консерватории...,

задачу поставил с примером и решением. Плохому танцору...
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263830
может в консерватории...,

попробую еще раз сформулировать:
Имеется таблица:
create table IMP
(

ROWNUMBER NUMBER(38), --число строки содержимого файла, записанного в таблицу
TEXT CLOB, текстовое содержимое файла
BINARIES BLOB --бинарное содержимое файла

);

содержимое бинарного файла нужно записывать в таблицу построчно. Строчку создавать с помощью логики
1. С позиции Nr 1 файла до CTRL
2. C CTRL предыдущий строчки до следующего ctrl

Если две первые позиции строки 'TE', тогда строчка пишется в поле TEXT с соответствующим номером строки.
Если же две первые позиции строки BI, тогда строчка записывается в поле BINARIES с соответствующим номером строки.

Получаем в таблице 5 строк.

Следующие строки записываются в поле TEXT
TE121311718273827381
TE121311718273827321
TE121311718273827344
Следующие строки записываются в поле BINARIES
BI000000000ºWoµÚ>þ¢
BI000000000ºWoµÚ>þ¢

Вот решение с помощью SQLLOADER:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
load data
infile 'TEXT_AND_B'
into table IMP truncate
when (1:2) = 'TE'
(
  ROWNUMBER     recnum
, TEXT   position (1)   raw(1000000)
)
into table xy truncate
when (1:2) = 'BI'
(
  ROWNUMBER    recnum
, BINARIES    position (1)  raw(1000000)
)



Хотел бы решить задание с помощью Oracle Package (например dbms_lob).
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39263840
опечатка
Код: plaintext
1.
2.
содержимое бинарного файла нужно записывать в таблицу построчно. Строчку создавать с помощью логики
1. С позиции Nr 1 файла до CTRL
2. C CTRL предыдущий строчки до следующего ctrl

CTRL ---> CRLF
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39264894
Hans Christian Andersen,

есть у кого-нибудь идеи?
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39264962
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Были бы идеи - написали бы.
А так - вы не можете определиться, чем загружать - SQLLoader или UTL_FILE. Не приводите примеры кода.
Ждете, чтоб за вас всю задачу решили?
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39264973
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понятно, какие идеи нужны. Берешь PL/SQL Developer и пишешь код.
...
Рейтинг: 0 / 0
Фаил записать в базу/таблицу с полями СLOB и BLOB
    #39266086
NLS-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hans Christian Andersenстроки записываются в поле BINARIES
В BLOB записываются байты, а строки состоят из символов.
Разницу между байтами и символами читай в Concepts & Globalization Support Guide
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Фаил записать в базу/таблицу с полями СLOB и BLOB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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