Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sqlloader: указать offset для файла / 7 сообщений из 7, страница 1 из 1
05.03.2020, 19:54
    #39934910
Shredder2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlloader: указать offset для файла
Как обычно, файл состоит из заголовка со структурой структура1 и данных со структурой структура2.
Можно ли как-то исхитриться и загрузить вторую часть файла со структурой2 через sqlloader?
А именно, не обнаружилось опции типа OFFSET, сколько байт от начала файла пропустить перед загрузкой.
Есть только опция SKIP, но разумеется длина структура1 не кратна длине строки данных в структура2.
...
Рейтинг: 0 / 0
05.03.2020, 21:26
    #39934940
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlloader: указать offset для файла
Shredder2003,


Если у Вас unix, то можно использовать dd skip=XXX bs=1c + mkpipe
что то вроде
Код: plsql
1.
2.
3.
4.
5.
6.
#!/bin/sh
trap "rm -f /tmp/oraldrpipe$$.dat" EXIT SIGINT SIGQUIT SIGABRT 
mkfifo /tmp/oraldrpipe$$.dat
dd if=input.dat skip=368 bs=1c  of=oraldrpipe$$.dat &
sqlldr control=my.ctl data=oraldrpipe$$.dat ... 
rm -f /tmp/oraldrpipe$$.dat
...
Рейтинг: 0 / 0
06.03.2020, 07:36
    #39935008
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlloader: указать offset для файла
Shredder2003
Как обычно, файл состоит из заголовка со структурой структура1 и данных со структурой структура2.
Можно ли как-то исхитриться и загрузить вторую часть файла со структурой2 через sqlloader?
В текстовом файле достаточно пропустить одну строку.
...
Рейтинг: 0 / 0
06.03.2020, 09:01
    #39935022
Shredder2003
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlloader: указать offset для файла
Elic
В текстовом файле достаточно пропустить одну строку.


Увы, .dbf
На самом деле нужно было для table ORGANIZATION external, ну там и нашлось примерно то же, что Вадим описал:
PREPROCESSOR file_spec
, и оно даже сработало.

Доработаю Кайтовский DBASE_PKG чтобы через внешнюю таблицу(sqlloader) грузил, и выложу уже на гитхаб.
...
Рейтинг: 0 / 0
06.03.2020, 11:30
    #39935096
elunin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlloader: указать offset для файла
Shredder2003,
у dbf отрезается заголовочная часть, остальное прекрасно грузиться лоадером.
...
Рейтинг: 0 / 0
06.03.2020, 11:55
    #39935118
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlloader: указать offset для файла
elunin,

Shredder2003 хочет отрезать средствами именно лоадера
аля x_b filler POSITION(1), x_e filler POSITION(*+11)

....
stax
...
Рейтинг: 0 / 0
06.03.2020, 12:02
    #39935127
elunin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sqlloader: указать offset для файла
Stax,
да я понял, но проще либо отрезать заголовок, либо воспользоваться готовой утилитой по типу dbf2csv
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sqlloader: указать offset для файла / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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