在没有使用 BIND 的情况下,对 DB2 程序进行非 SQL 更改时,执行结果是什么?
在每次执行 COBOL-DB2 程序时,都会比较加载模块和包/DBRM 的时间戳。如果程序中变量的长度发生更改(并且没有 SQL 更改)并进行编译,则加载模块将具有新生成的时间戳,另一方面,如果未执行 BIND,则包/DBRM 将具有旧的时间戳。当执行此程序时,调用此程序的 JCL 步骤将因 SQL 错误代码 -818 而失败。
如果我们有一个 COBOL-DB2 程序,其 SQL 语句在未来永远不会更改,我们可以使用 LEVEL 选项预编译此程序。
广告