【问题标题】:JMP0811I-U Fujitsu runtime error after compiling Fujitsu COBOL with DB2 SQL: cause/remedy?JMP0811I-U 使用 DB2 SQL 编译 Fujitsu COBOL 后出现 Fujitsu 运行时错误:原因/补救措施?
【发布时间】:2010-09-14 01:52:07
【问题描述】:

我能够(在 Windows XP 上)预编译、编译和链接包含嵌入式 SQL 的示例 (Fujitsu NetCobol) COBOL 测试程序。该测试程序用于读取并显示 DB2(Linux 上为 UDB 9.5)数据库表中的行数。

在运行时我收到以下错误消息:

JMP0811I-U [PID:... TID:...] 'sqlgstrt' 程序的链接规则或参数失败。 PGM=DB2TST1

此错误所指的预编译源代码如下:

     * ... in WORKING-STORAGE section:

      01  SQLA-PROGRAM-ID.
       05 SQL-PART1 pic 9(4) COMP-5 value 172.
       05 SQL-PART2 pic X(6) value "AEAMAI".
       05 SQL-PART3 pic X(24) value "gBSdTdJY01111 2         ".
       05 SQL-PART4 pic 9(4) COMP-5 value 13.
       05 SQL-PART5 pic X(13) value "ADMINISTRATOR".
       05 SQL-PART6 pic X(115) value LOW-VALUES.
       05 SQL-PART7 pic 9(4) COMP-5 value 8.
       05 SQL-PART8 pic X(8) value "COBOL/DB".
       05 SQL-PART9 pic X(120) value LOW-VALUES.

      * .. in PROCEDURE DIVISION:

      *EXEC SQL CONNECT TO :DB-SERVER USER :DB-USER USING :DB-PWD
      *     END-EXEC
           CALL "sqlgstrt" USING
              BY CONTENT SQLA-PROGRAM-ID
              BY VALUE 0
              BY REFERENCE SQLCA

有人知道这个错误信息是什么意思吗?

【问题讨论】:

  • 如果我还有 1 个业力点,我会为你做,但你应该改变“cobol”。标记以删除尾随的“。”

标签: db2 cobol netcobol


【解决方案1】:

错误描述是由于: *) CHECK(LINKAGE) 编译器选项 (仅适用于 Windows 的 NetCOBOL,不适用于 Linux) 如果没有这个选项,错误仍然存​​在,但描述性更差

实际错误是由于: *) DB2 预编译器生成的CALL "sqlgstrt" USING ... 暗示错误 (= COBOL) 调用约定 => 手动将调用更改为 CALL "sqlgstrt" WITH STDCALL LINKAGE USING... 已解决运行时错误

这个解决方案意味着更改预编译器的结果,所以我仍在寻找一个 DB2 预编译器选项来生成正确的 CALL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    相关资源
    最近更新 更多