Я получил задание в больнице, которая все еще использует КОБОЛ для всей организационной работы, целое (теперь 20 терабайт) база данных (Который был домашним пивом в, угадайте то, что, КОБОЛ), заполнено данными каждого пациента начиная с последних 45 (или так) годы.
Так, чтобы была моя история. Теперь к моему вопросу:
В настоящее время все сокеты были (от того, что я видел), реализованный программами КОБОЛа, пишущий их данные в файлы. Эти файлы затем были считаны программами C++ (Который был дополнительным модулем, добавленным в конце 1980-х), и использующий сокеты C++, отправленные в базу данных.
Теперь это решение прекратило работать, поскольку они перемещают базу данных от КОБОЛа до КОБОЛа, да - они не использовали MySQL или так - они реализовали новую базу данных - снова в КОБОЛе. Я спросил парня, который работал там передо мной (hes приблизительно 70 теперь), какого черта кто-то сделает это, и он сказал мне, что он так хорош в КОБОЛе, что он не хочет писать это на любом другом языке.
Пока неплохо теперь мой вопрос:
192.168.1.23:283
.Большинство компиляторов COBOL позволят вам компоновать и вызывать объектный модуль или DLL. Как говорит Кати, я знаю, что могу помочь, но мне нужна дополнительная информация. Я уже делал это ранее с windows на DEC, поэтому я знаю, что это можно сделать.
Напомним, что Google - ваш ДРУГ.
Ответ во многом зависит от среды выполнения.
IBM утверждает, что имеет Sockets API , вызываемый из COBOL, как часть CICS для z / OS.
Кажется, в Micro Focus что-то есть.
Вам необходимо предоставить больше информации о вашей ОС и компиляторе.
Если вы работаете на IBM z/OS с компилятором, поддерживающим языковую среду, вы можете просто вызывать функции EZASOCK из коммуникационных служб z/OS. Эти вызовы хорошо документированы в справочниках и имеют хорошие примеры на языке Cobol.
Другие платформы имеют другие возможности.
В большинстве случаев, вы можете просто "CALL" внешний модуль, написанный на любом языке, который вам нужен, но это DLL или sharedLib или что-то еще.
Можете ли вы дать немного больше деталей о вашем окружении?
Почему бы вам просто не писать прямо в базу данных из программы на Cobol?
Мэйнфреймы IBM имеют два API-интерфейса сокетов, которые можно использовать из COBOL. Один для использования внутри программ CICS (где есть особые соображения по безопасности потоков и окружению), а другой для использования в обычных пакетных программах или программах IMS.
Реализована полная функциональность TCP / IP, и она достаточно надежна для обработки протоколов кредитных карт в соответствии со стандартами MVA (я знаю, потому что это сделал я).