Чтение файлов Cobol ISAM с помощью приложения Delphi 2007

Мне было поручено посмотреть, есть ли способ напрямую читать файлы RM/COBOL ISAM в Delphi 2007, чтобы данные можно было синхронизировать с нашим онлайн-биллинговым веб-сайтом. Программа синхронизации Delphi уже подключена к базам данных Advantage и DBF, и мы надеялись, что сможем использовать эту же программу синхронизации для чтения и отправки данных ISAM.

Что мои исследования нашли до сих пор. Я нашел сайт под названием MicroFocus, который распространяет продукт, на котором написана программа COBOL. Любые утилиты/продукты моста данных очень дороги, поэтому они были сочтены нецелесообразными. Был сайт под названием EasySoft, на котором есть драйверы ISAM ODBC, но при отправке некоторых файлов примеров COBOL они не поддерживают наш формат. Был также продукт под названием DBISAM, но опять же, они не поддерживают формат COBOL, который использует наше приложение. Я также отправил электронное письмо в Embarcadero, но, пока я жду, я решил проверить и здесь.


person user3249290    schedule 29.01.2014    source источник
comment
Вы смотрели на некоторые образцы файлов? Мне давно приходилось работать с файлами ISAM, и данные хранились в основном в виде обычного текста со странным индикатором, говорящим об удалении записи. Это были только индексы в двоичном формате, поэтому вы можете обойтись без использования каких-либо библиотек.   -  person Graymatter    schedule 30.01.2014
comment
Да, и, к сожалению, большая часть файла довольно загадочна. В конечном итоге вы найдете данные, которые представляют то, что наш программист добавил, в отдельном текстовом документе, но в нем много двоичных символов, и шаблоны не соответствуют друг другу. Не совсем уверен, что такое формат RM/COBOL, но если бы это был C или D ISAM, я был бы в лучшей форме.   -  person user3249290    schedule 30.01.2014


Ответы (1)


Я провел небольшое исследование. Кто-то создал приложение в Delphi для преобразования файлов RM COBOL в плоские файлы:

http://www.janes.demon.co.uk/

Приложение и исходный код находятся здесь http://www.janes.demon.co.uk/rm-decode.zip

У меня нет образцов файлов, поэтому вам нужно будет проверить это с вашими файлами. Существуют разные версии RM COBOL, но, по крайней мере, это должно дать вам отправную точку.

person Graymatter    schedule 30.01.2014
comment
Круто, я попробую и посмотрю, что произойдет. Я попробую что-нибудь на этом этапе. Спасибо! - person user3249290; 31.01.2014
comment
Ну, это близко и, надеюсь, достаточно хорошо. Он правильно вводит кучу данных, но все еще имеет некоторые проблемы с концом каждой записи, где некоторые данные отсутствуют. Я проведу несколько тестов с большими наборами данных, чтобы посмотреть, что у меня получится. - person user3249290; 31.01.2014