powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Клипперную БД интеллектуально перегнать в ОРакл
16 сообщений из 16, страница 1 из 1
Клипперную БД интеллектуально перегнать в ОРакл
    #39403115
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть старая клипперная БД на 40 гб. Бухучет предприятия до 2007-ого года.
ПО к этой БД есть, но на вин-7 не запускается без dosbox, т.е. считаем, что его нет. Да и никто не помнит, как оно вообще работало.
Данные устарели, но раз в год кому-то может понадобится одна-две строки. Какие именно строки понадобятся в следующем году и понадобятся ли вообще, никто не знает.

В общем, приказали нам эти дбф-ки перегнать в Оракл. Пусть там лежат. Кому надо, и в Оракле найдёт.
Оракл 11.2.

100 тыщ дбф-ок.
Куча в основном похожих файлов – кредит, дебет, сальдо, журналы и прочая хрень каждого счета за каждый год.
Но сбивать все кредиты в одну таблицу не получится, т.к. файлы весьма похожие, но структура может отличаться.

Из этого НЕ НАДО делать реляционную БД.
Нужна гениальная идея:
- как всё это хранить
- чтобы место много не занимало
- легко искать произвольный текст. Например, как решали на днях: запустили ФАРом поиск по всем папкам и dbf-кам, искали ОКПО – код предприятия. Нашли несколько похожих таблиц, данные выгрузили в Эксель, пользователь остался доволен.

Варианты:
1. Сделать в отдельной схеме (нескольких схемах) 100 тыщ разных таблиц
Плюсы – проще всего – есть прога для заливки дбф в БД с созданием таблиц. Написать скрипт для заливки всех таблиц на основании результата dir - час времени. И 8 часов будет работать, пока не зальёт - и все затраты.
Минус – много таблиц получается и сложно искать в них произвольный текст.
Минус – ограничение на длину наименования таблицы. Полный путь не влезет в название таблицы.
2. Сделать EAV-таблицы. Основная таблица - Field_id, row_number, Value_строка, Value_Намбер, Value_дата.
Минусы: на каждое поле будет уходить много доп. места на Field_id и row_number.
3. Хранить каждую таблицу отдельной строкой в XML или JSON. Сделать общую таблицу из трех основных полей: Название таблицы с полным путём, CLob с данными, sql-запрос для получения данных. Полнотекстово проиндексировать.
Минус – куча места будет уходить под название атрибутов и прочую информацию.
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403138
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx3. Хранить каждую таблицу отдельной строкой в XML или JSON. Сделать общую таблицу из трех основных полей: Название таблицы с полным путём, CLob с данными, sql-запрос для получения данных. Полнотекстово проиндексировать.
Минус – куча места будет уходить под название атрибутов и прочую информацию.А ежели в CSV ?
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403146
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftА ежели в CSV?надо обдумать, идея нравится
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403148
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у XML есть плюс - из него селект можно написать
для селекта из CSV придётся парсер писать?
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403157
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxдля селекта из CSV придётся парсер писать?А зачем, если andreymxданные выгрузили в Эксель, пользователь остался доволен.?

Раз в год можно данные кинуть в Excel или даже сконвертить в обычную таблицу, если нужно что-то сложное посчитать.
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403159
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сколько уникальных полей в 100к дбф-ок?
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403162
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейсколько уникальных полей в 100к дбф-ок?еще не считал
а зачем?
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403163
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftandreymxдля селекта из CSV придётся парсер писать?А зачем, если andreymxданные выгрузили в Эксель, пользователь остался доволен.?
Раз в год можно данные кинуть в Excel или даже сконвертить в обычную таблицу, если нужно что-то сложное посчитать.хорошая идея, подумаю
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403166
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxкит северных морейсколько уникальных полей в 100к дбф-ок?еще не считал
а зачем?
ну допустим тысяча. создайте одну таблицу на эту тысячу полей + 1 поле на идентифиактор исходного файла, загрузчиком заполняйте только те колонки, которые есть в файле. будет разреженная таблица. потом сверху прибить компрессией, если надо.
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403249
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морейandreymxпропущено...
еще не считал
а зачем?
ну допустим тысяча. создайте одну таблицу на эту тысячу полей + 1 поле на идентифиактор исходного файла, загрузчиком заполняйте только те колонки, которые есть в файле. будет разреженная таблица. потом сверху прибить компрессией, если надо.

согласен, но сложил бы не вообще все в вообще одну, а в 10ок похожих, - сальдо к сальдо, клиенты к клиентам. тогда каждая все же поменьше 1000 полей станет.

Или, хранить каждую строку ориг. таблиц в xml-json
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403635
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все файлы DBF положить на диск сервера БД.

Наделать из DBF'ов файлов CSV.

Написать скрипт/программу, который наделает 100 000 External Tables на 100 000 файлов CSV.

При редкой необходимости поиска чего-либо искать в файлах CSV/DBF обычным FAR'ом и/или SELECT'ом из External Tables.
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403718
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*PlusВсе файлы DBF положить на диск сервера БД.

Наделать из DBF'ов файлов CSV.

Написать скрипт/программу, который наделает 100 000 External Tables на 100 000 файлов CSV.

При редкой необходимости поиска чего-либо искать в файлах CSV/DBF обычным FAR'ом и/или SELECT'ом из External Tables.предложение miksoft мне больше по душе - с хранением csv в блобах
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39403740
Vvche69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из серии "пусть безумная идея, не рубайте сгоряча..."

Может, как-то вот чего заюзать:
https://en.wikipedia.org/wiki/Harbour_(software)
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39404349
dbpatch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxSQL*PlusВсе файлы DBF положить на диск сервера БД.

Наделать из DBF'ов файлов CSV.

Написать скрипт/программу, который наделает 100 000 External Tables на 100 000 файлов CSV.

При редкой необходимости поиска чего-либо искать в файлах CSV/DBF обычным FAR'ом и/или SELECT'ом из External Tables.предложение miksoft мне больше по душе - с хранением csv в блобах

И зачем .csv хранить в блобах, если Oracle их (.CSV) умеет читать как свою родную таблицу?
Или синтаксиc создания EXTERNAL TABLE настолько сложен, а примеры не гуглятся?
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39404936
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbpatchИ зачем .csv хранить в блобах, если
Чтобы потом не пытаться мучительно понять в какой из сотен тысяч оракловых таблиц лежит то что нужно? это версия.
...
Рейтинг: 0 / 0
Клипперную БД интеллектуально перегнать в ОРакл
    #39405228
хунтер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для 100 тыщ дбф-ок рентабельно отрезать от них заголовки ( все до первого перевода строки в файле) ,
скормить их скрипту , который по заголовкам сформирует
create table и par файлы для sqlldr
текст за хедерами скормить sqlldr-y
потом за отдельные деньги
селектами по каталогу
можно сформировать разряженные таблицы
и консолидировать.

Вы думаете это весь профит ?
никак нет
Разместить рекламу в инете ,
быстрая загрузка дбф- ников любой структуры в оракл , (не) дорого .
:)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Клипперную БД интеллектуально перегнать в ОРакл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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