Как решить или начать решать проблему DB2?
Когда я пытаюсь предварительно скомпилировать свое приложение DB2 Cobol, которое содержит встроенные операторы SQL, я получаю эту ошибку в своем SYSTERM
файл:
********************************* TOP OF DATA **********************************
DSNH527I W DSNHOPTS THE PRECOMPILER OR DB2 COPROCESSOR ATTEMPTED TO USE THE
DSNH004I S DSNHLEXC PROCEDURE DIVISION COULD NOT BE FOUND
DSNH053I W DSNHMAIN NO SQL STATEMENTS WERE FOUND
SOURCE STATISTICS
SOURCE LINES READ: 205
NUMBER OF SYMBOLS: 10
SYMBOL TABLE BYTES EXCLUDING ATTRIBUTES: 1640
THERE WERE 3 MESSAGES FOR THIS PROGRAM.
THERE WERE 0 MESSAGES SUPPRESSED BY THE FLAG OPTION.
188712 BYTES OF STORAGE WERE USED BY THE PRECOMPILER.
RETURN CODE IS 12
******************************** BOTTOM OF DATA ********************************
Я думаю, что ошибка в том, что он не может найти раздел Division Division, но это в коде здесь:
*---------------------------------------------------------------*
* P R O C E D U R E D I V I S I O N *
*---------------------------------------------------------------*
PROCEDURE DIVISION USING LK-TRANS-INPUT.
000-MAIN.
2 ответа
Решение
Я исправил это, воссоздав наборы данных на мэйнфрейме DB2 с теми же данными в них. Что-то не так с их настройками.
Глядя на пример кода, вы начинаете кодировать в столбце 1.
Компиляторы мэйнфреймов Trad ожидают код в определенных столбцах:
----+----1----+-----
* comment star goes in column 7
PROCEDURE DIVISION.
PARAGRAPH_NAME.
* All start between cols 8 and 11
*
ADD +1 TO COBVER.
* Other operations start in col 12 or after.
* Anything after column 71 will be ignored.