Сокеты и КОБОЛ

Я получил задание в больнице, которая все еще использует КОБОЛ для всей организационной работы, целое (теперь 20 терабайт) база данных (Который был домашним пивом в, угадайте то, что, КОБОЛ), заполнено данными каждого пациента начиная с последних 45 (или так) годы.

Так, чтобы была моя история. Теперь к моему вопросу:

В настоящее время все сокеты были (от того, что я видел), реализованный программами КОБОЛа, пишущий их данные в файлы. Эти файлы затем были считаны программами C++ (Который был дополнительным модулем, добавленным в конце 1980-х), и использующий сокеты C++, отправленные в базу данных.

Теперь это решение прекратило работать, поскольку они перемещают базу данных от КОБОЛа до КОБОЛа, да - они не использовали MySQL или так - они реализовали новую базу данных - снова в КОБОЛе. Я спросил парня, который работал там передо мной (hes приблизительно 70 теперь), какого черта кто-то сделает это, и он сказал мне, что он так хорош в КОБОЛе, что он не хочет писать это на любом другом языке.

Пока неплохо теперь мой вопрос:

  • Как я могу реализовать сокетные соединения в КОБОЛе? Я должен создать интерфейс к внешней базе данных COBOL, расположенной в, например, 192.168.1.23:283.
5
задан Earlz 13 April 2010 в 19:40
поделиться

4 ответа

Большинство компиляторов COBOL позволят вам компоновать и вызывать объектный модуль или DLL. Как говорит Кати, я знаю, что могу помочь, но мне нужна дополнительная информация. Я уже делал это ранее с windows на DEC, поэтому я знаю, что это можно сделать.

0
ответ дан 14 December 2019 в 13:31
поделиться

Напомним, что Google - ваш ДРУГ.

Ответ во многом зависит от среды выполнения.

IBM утверждает, что имеет Sockets API , вызываемый из COBOL, как часть CICS для z / OS.

Кажется, в Micro Focus что-то есть.

0
ответ дан 14 December 2019 в 13:31
поделиться

Вам необходимо предоставить больше информации о вашей ОС и компиляторе.

Если вы работаете на IBM z/OS с компилятором, поддерживающим языковую среду, вы можете просто вызывать функции EZASOCK из коммуникационных служб z/OS. Эти вызовы хорошо документированы в справочниках и имеют хорошие примеры на языке Cobol.

Другие платформы имеют другие возможности.

В большинстве случаев, вы можете просто "CALL" внешний модуль, написанный на любом языке, который вам нужен, но это DLL или sharedLib или что-то еще.

Можете ли вы дать немного больше деталей о вашем окружении?

Почему бы вам просто не писать прямо в базу данных из программы на Cobol?

5
ответ дан 14 December 2019 в 13:31
поделиться

Мэйнфреймы IBM имеют два API-интерфейса сокетов, которые можно использовать из COBOL. Один для использования внутри программ CICS (где есть особые соображения по безопасности потоков и окружению), а другой для использования в обычных пакетных программах или программах IMS.

Реализована полная функциональность TCP / IP, и она достаточно надежна для обработки протоколов кредитных карт в соответствии со стандартами MVA (я знаю, потому что это сделал я).

1
ответ дан 14 December 2019 в 13:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: