|
|
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
Есть старая клипперная БД на 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-запрос для получения данных. Полнотекстово проиндексировать. Минус – куча места будет уходить под название атрибутов и прочую информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 23:10 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
andreymx3. Хранить каждую таблицу отдельной строкой в XML или JSON. Сделать общую таблицу из трех основных полей: Название таблицы с полным путём, CLob с данными, sql-запрос для получения данных. Полнотекстово проиндексировать. Минус – куча места будет уходить под название атрибутов и прочую информацию.А ежели в CSV ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 23:43 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
miksoftА ежели в CSV?надо обдумать, идея нравится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2017, 23:57 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
у XML есть плюс - из него селект можно написать для селекта из CSV придётся парсер писать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 00:06 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
andreymxдля селекта из CSV придётся парсер писать?А зачем, если andreymxданные выгрузили в Эксель, пользователь остался доволен.? Раз в год можно данные кинуть в Excel или даже сконвертить в обычную таблицу, если нужно что-то сложное посчитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 00:33 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
сколько уникальных полей в 100к дбф-ок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 01:00 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
кит северных морейсколько уникальных полей в 100к дбф-ок?еще не считал а зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 01:07 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
miksoftandreymxдля селекта из CSV придётся парсер писать?А зачем, если andreymxданные выгрузили в Эксель, пользователь остался доволен.? Раз в год можно данные кинуть в Excel или даже сконвертить в обычную таблицу, если нужно что-то сложное посчитать.хорошая идея, подумаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 01:08 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
andreymxкит северных морейсколько уникальных полей в 100к дбф-ок?еще не считал а зачем? ну допустим тысяча. создайте одну таблицу на эту тысячу полей + 1 поле на идентифиактор исходного файла, загрузчиком заполняйте только те колонки, которые есть в файле. будет разреженная таблица. потом сверху прибить компрессией, если надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 01:13 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
кит северных морейandreymxпропущено... еще не считал а зачем? ну допустим тысяча. создайте одну таблицу на эту тысячу полей + 1 поле на идентифиактор исходного файла, загрузчиком заполняйте только те колонки, которые есть в файле. будет разреженная таблица. потом сверху прибить компрессией, если надо. согласен, но сложил бы не вообще все в вообще одну, а в 10ок похожих, - сальдо к сальдо, клиенты к клиентам. тогда каждая все же поменьше 1000 полей станет. Или, хранить каждую строку ориг. таблиц в xml-json ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 10:24 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
Все файлы DBF положить на диск сервера БД. Наделать из DBF'ов файлов CSV. Написать скрипт/программу, который наделает 100 000 External Tables на 100 000 файлов CSV. При редкой необходимости поиска чего-либо искать в файлах CSV/DBF обычным FAR'ом и/или SELECT'ом из External Tables. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 17:00 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
SQL*PlusВсе файлы DBF положить на диск сервера БД. Наделать из DBF'ов файлов CSV. Написать скрипт/программу, который наделает 100 000 External Tables на 100 000 файлов CSV. При редкой необходимости поиска чего-либо искать в файлах CSV/DBF обычным FAR'ом и/или SELECT'ом из External Tables.предложение miksoft мне больше по душе - с хранением csv в блобах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 18:54 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
Из серии "пусть безумная идея, не рубайте сгоряча..." Может, как-то вот чего заюзать: https://en.wikipedia.org/wiki/Harbour_(software) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 19:37 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
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 настолько сложен, а примеры не гуглятся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2017, 18:10 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
dbpatchИ зачем .csv хранить в блобах, если Чтобы потом не пытаться мучительно понять в какой из сотен тысяч оракловых таблиц лежит то что нужно? это версия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 14:28 |
|
||
|
Клипперную БД интеллектуально перегнать в ОРакл
|
|||
|---|---|---|---|
|
#18+
для 100 тыщ дбф-ок рентабельно отрезать от них заголовки ( все до первого перевода строки в файле) , скормить их скрипту , который по заголовкам сформирует create table и par файлы для sqlldr текст за хедерами скормить sqlldr-y потом за отдельные деньги селектами по каталогу можно сформировать разряженные таблицы и консолидировать. Вы думаете это весь профит ? никак нет Разместить рекламу в инете , быстрая загрузка дбф- ников любой структуры в оракл , (не) дорого . :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 19:15 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39403162&tid=1886435]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 442ms |

| 0 / 0 |
