如果 DB2 程序在不同的日期进行编译和绑定,执行结果是什么?
问题:DB2 程序 PROGA 被修改和编译,但在 3 天后才进行绑定。如果我们在第 4 天执行此程序会发生什么?
解决方案
预编译器将当前时间戳插入修改后的源代码和 DBRM 中。对于修改后的源代码,此时间戳传递到加载模块,对于 DBRM,时间戳传递到包中。在程序执行时,会比较加载模块和包的时间戳。此比较用于确保执行包和加载模块的正确版本。
根据给定的场景,编译已完成,绑定在 3 天后完成。时间戳在预编译步骤中插入,预编译发生在编译步骤之前。因此,相同的时戳被插入到 DBRM 和加载模块中,这不会导致任何时间戳不匹配问题。程序将无错误执行。
绑定对时间戳没有影响,因此即使绑定在其他日期完成,DBRM 和修改后的源代码也具有预编译时间戳,并且相同的时戳将分别传递到包和加载模块。这在程序执行期间不会造成任何问题。
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP