Как я могу экспортировать данные в устаревшем приложении DOS, если опция экспорта недоступна? - PullRequest
0 голосов
/ 07 января 2009

Мой заказчик поставил задачу экспортировать данные из устаревшей системы DOS, , используя базу данных RAIMA , чтобы их можно было импортировать в новую систему, для которой мы пишем. Похоже, что данные хранятся в формате плоского файла, хотя при открытии файлов большая часть текста является бессмысленной.

Мы видим Raima Database Manager в верхней части файлов, которые мы открыли ... Мы попробовали поискать этот термин и, похоже, это старый формат базы данных. Само собой разумеется, что поставщик, который написал программное обеспечение, больше не поддерживает его. Есть ли другой способ получить эти данные для экспорта?

Есть ли способ автоматической очистки данных с экрана?

Примечание

Это простая система выставления счетов, вся информация находится на одном экране в приложении.

Ответы [ 8 ]

2 голосов
/ 07 января 2009

это поможет узнать, какая версия Raima Database Manager использовалась; db_Vista или RDM или Velocis или RDM Embedded ? Примерная эпоха, когда было написано приложение для DOS, поможет сузить возможную версию.

RDM Embedded была выпущена как открытый исходный код Centura около 2000 года, а затем переименована в db.linux. Вы можете найти некоторую информацию в исходном коде, которая проливает свет на то, как они структурировали файлы.

В любом случае db_Vista родилась в 1982 году, поэтому, скорее всего, это система индексирования файлов B-Tree.

2 голосов
/ 07 января 2009

для Raima Data Manager версии 3.21A В этой статье указано, что приложение, скорее всего, было написано на C, и оно использовало Язык определения данных Raima для структурирования файлов - ищите файлы для что-то похожее, проверьте .dbd и .tbl - вам, возможно, придется просматривать их с чем-то вроде VI с шестнадцатеричным режимом. Весьма вероятно, что структуры данных встроены в один из файлов.

Edit:

вот несколько ссылок, которые могут привести вас к дополнительной информации

http://www.raima.com/

http://www.raima.com/database_technology/rdm.php3 http://www.raima.com/database/download.php3

http://database.ittoolbox.com/topics/t.asp?t=411&p=415&h1=411&h2=412&h3=415

http://www.faqs.org/faqs/databases/free-databases/

http://www.ittia.com/products/ittia_odbc.html

http://www.mactech.com/articles/mactech/Vol.07/07.02/db_VistaIII/index.html

2 голосов
/ 07 января 2009

Raima , кажется, все еще идет, возможно, стоит отправить им письмо или узнать, совместим ли один из их новых продуктов с обратной совместимостью. В противном случае это может привести к обратному проектированию приложения для выгрузки данных из него или определения формата файла.

1 голос
/ 09 сентября 2010

Raima (по крайней мере, версии, которые я использую) поставляется с инструментом под названием datdump, который записывает файлы данных в удобочитаемом формате. Существует также инструмент под названием dbexp, который может генерировать файлы CSV из базы данных Raima.

Могу поспорить, прекрасные люди в Райме могли бы помочь вам. Я знаю, что они все еще рядом. Я вижу, что их веб-сайт даже публикует формат файлов данных в своей области поддержки. Это может измениться от версии к версии Raima, но должно дать вам хорошее представление о том, как начать писать собственный код извлечения.

1 голос
/ 07 января 2009

Вы также, вероятно, должны потратить двадцать минут, чтобы исключить возможность того, что формат базы данных не является чем-то распространенным для той эпохи - db3, Paradox, Filemaker или тому подобное - но с переименованными расширениями файлов. Попробуйте открыть в Excel или аналогичном формате, указав формат (сначала добавьте дополнительные фильтры в Excel, если они вам нужны). Рабочий стол Borland также хорошо подходил для такого рода экзаменов.

Это длинный путь, но он окупился для меня несколько раз, когда какой-то «неясный» формат файла оказался запутанной версией чего-то гораздо более распространенного (в частности, db3). Вне DOS-эры я обнаружил, что файлы Access, находящиеся в заблуждении, тоже время от времени появляются.

1 голос
/ 07 января 2009

Другой вариант может заключаться в том, чтобы использовать любой механизм отчетности, который приложение dos должно распечатать все данные приложения в текстовом файле (через перенаправление prn:), а затем проанализировать их в текстовом формате - это будет работать (хотя регулярные выражения могут быстро разобрать лишнее дерьмо), но я сделал это.

1 голос
/ 07 января 2009

В качестве второго варианта (или, может быть, в крайнем случае), если Raima не может вам помочь, вы можете использовать инструмент автоматизации, чтобы вычистить информацию с экрана и проанализировать ее. Учитывая, что это приложение для DOS, если его можно запустить в окне консоли Windows, я бы использовал такой инструмент, как Eggplant , TestComplete или HighTest . Все эти инструменты предназначены главным образом для автоматизации тестирования с помощью графического интерфейса или пользовательского интерфейса, но довольно хороши для этого типа работы. Я думаю, что у Hightest была версия для DOS.

1 голос
/ 07 января 2009

Будет ли приложение DOS работать в командном окне в Windows XP? Если это так, вы можете вырезать и вставить данные в текстовый редактор или электронную таблицу.

Другая идея приходит мне в голову. Вы можете использовать Java Robot или даже простой код Win API для отправки нажатий клавиш в командное окно для пролистывания записей. Это половина твоей битвы. Похоже, что в командной строке есть опция «Выбрать все», объедините ее с командой «Копировать», и вы должны быть установлены.

...