Прежде всего, извинения, если этот вопрос кажется стеной текста, я не могу придумать способ его форматирования.Извлечение данных из ОЧЕНЬ старой машины Unix
У меня есть машина с ценными данными (около 1995 года), на компьютере работает unix (SCO OpenServer 6) с какой-то базой данных, хранящейся на нем.
Данные обычно доступны через программный пакет, срок действия которого истек, и разработчики больше не торгуют.
Программный пакет подключается к аппарату через telnet для извлечения данных и изменения данных (подключение telnet больше не работает из-за изменения лицензии).
Я могу получить доступ к машине через драйвер ODBC (SeaODBC.dll) по сети, так я планировал извлечь данные, но до сих пор я забирал 300 000 строк всего за 24 часа, в общей сложности оцениваю там будет около 50 000 000 рядов, поэтому при текущей скорости это займет 6 месяцев!
Мне нужен либо быстрый способ извлечения данных с устройства через ODBC, либо способ извлечения всей БД локально на компьютере на внешний диск/сетевой диск или другой внешний источник.
Я играл с интерфейсом unix, и только большие файлы, которые я могу найти, находятся в массивной матрице односимвольной папки (например, A \ G \ data.dat, A \ H \ Data.dat).
Кто-нибудь знает, как узнать установленные системы БД на машине? Надеюсь, это стандарт, и я смогу найти способ экспортировать все в хорошо отформатированный файл.
Редактировать
Копает по файловой системе я нашел папку под root > L
, которая содержит множество отдельных литерных папок, каждую отдельная литерную папка содержит несколько отдельных папок письма.
Есть также файлы, которые названы после того, как таблицу мне нужно (например, «ooi.r»), которые имеют следующий формат:
<Id>
[]
l for ooi_lno, lc for ooi_lcno, s for ooi_invno, id for ooi_indate
require l="AB"
require ls="SO"
require id=25/04/1998
{<id>} is s
sort increasing Id
может быть лучше подходит для http://unix.stackexchange.com/ – amphibient
интересный вопрос, также можно попробовать http://dba.stackexchange.com – jamesTheProgrammer
Как первый разрез, я бы запускал соединение odbc локально на машины и извлеките его локально. Узкое место производительности может быть связано с сетью. Кроме того, я предполагаю, что запрос представляет собой простой запрос типа «select *», предпочтительно из базовой таблицы, а не из представления. –