如果DBRM和載入模組的時間戳不匹配,會發生什麼結果?


當COBOL-DB2原始碼作為預編譯階段的輸入時,我們將得到兩個重要的元件——DBRM和修改後的原始碼。

在修改後的原始碼中,SQL語句被替換為COBOL呼叫,而DBRM包含COBOL-DB2程式中存在的所有SQL語句。預編譯器在DBRM和修改後的原始碼中都插入時間戳。

如果DBRM直接繫結到計劃,則在執行COBOL-DB2程式時,系統會比較DBRM和載入模組的時間戳。如果時間戳不匹配,則呼叫該程式的JCL步驟將失敗,並顯示SQL錯誤程式碼-818。

在DBRM-包-計劃組合的情況下,系統將比較包(從DBRM複製)和載入模組的時間戳。如果時間戳不匹配,則呼叫該程式的JCL步驟也將失敗,並顯示SQL錯誤程式碼-818。

進行時間戳比較是為了確保為處理選擇正確的載入模組/包/DBRM版本和組合。根據IBM文件,-818 SQL錯誤程式碼指出

“載入模組中的預編譯器生成的時間戳x與從DBRM z構建的繫結時間戳y不同”。

更新於: 2020年12月1日

657 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.