Я постараюсь ответить на это.Я не работал напрямую с вызовом базы данных в COBOL.У нас есть куча серверных программ, которые обслуживаются другой группой, но я кое-что сделал.Вот как мы это делаем, используя базу данных DB2.Я также не знаю, что мы делаем за кулисами, поэтому ваш пробег может варьироваться.Вот как я понимаю:
У нас есть JCL, который выполняет программу, которая будет выглядеть примерно так:
//STEP01 EXEC PGM=PGM001
//*
//*------- DB2 Plan ------------------------*
//DSNPARMS DD DSN=XX.DBNAME.DBPLAN.JOBNAME,
// DISP=(MOD,DELETE,DELETE),
// UNIT=SYSDA,
// SPACE=(TRK,(0))
//*
//INPUT (input files for job)
//OUTPUT (output files for job)
Сам файл DSNPARMS пуст, он используется как местодержатель, который имеет всю необходимую информацию, необходимую для вызова данных.Структура имени файла: SystemResourceCode.DatabaseName.PlanName.JobName
Насколько я понимаю (для базы данных DB2), все, что требуется, - это соответственно настроить планы и коллекции и привязать их кКИСЛОТА.
Таким образом, в основном ACID привязан к коллекции базы данных, коллекция содержит набор планов базы данных.
План базы данных указывает на пакеты базы данных.Короче говоря, если у коллекции, связанной с вашим ACID, есть надлежащие планы, вы должны иметь доступ к базе данных без учетных данных для входа в систему, поскольку СУБД знает, что на основе ACID здесь находятся все планы, к которым у вас есть доступ.
Это также означает, что доступ к TSS должен быть настроен так, чтобы любой, кому нужен доступ для запуска JCL с этим ACID, мог его запустить.
У меня нет образцакод бэкэнда, но я надеюсь, что этого объяснения было достаточно, чтобы где-то пройти через учетные данные жесткого кода.Поговорите с ребятами из базы данных и спросите их о настройке планов и коллекций.Они могут помочь вам оттуда.