Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

COBOL-DB2 प्रोग्राम में बिना BIND किए नॉन-SQL परिवर्तन पर SQLCODE -818


समस्या

COBOL-DB2 प्रोग्राम में वेरिएबल लंबाई PIC X(5) से PIC X(8) बदली गई, लेकिन SQL में कोई परिवर्तन नहीं। प्लान/पैकेज को पुनः BIND नहीं किया गया।

परिणाम

एक्सीक्यूशन पर SQLCODE -818 आएगा:

"THE PRECOMPILER-GENERATED TIMESTAMP x IN THE LOAD MODULE IS DIFFERENT FROM THE BIND TIMESTAMP y BUILT FROM THE DBRM z"

कारण

  • कंपाइल पर लोड मॉड्यूल में नया टाइमस्टैम्प जनरेट होता है।
  • BIND न करने पर DBRM/पैकेज में पुराना टाइमस्टैम्प रहता है।
  • रनटाइम पर दोनों टाइमस्टैम्प मिलान न होने पर -818 एरर।

समाधान: LEVEL ऑप्शन के साथ BIND

यदि SQL कभी नहीं बदलेगा, तो प्री-कंपाइल में LEVEL ऑप्शन उपयोग करें:

//BIND EXEC PGM=IKJEFT01
//STEPLIB DD DSN=DIS.TEST.LOADLIB,DISP=SHR
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(TB3)
BIND PLAN(PLANA)
PKLIST(PACKA)
LEVEL
ACQUIRE(ALLOCATE)
ISOLATION (RS)
/*

नोट: LEVEL से टाइमस्टैम्प मिलान बायपास होता है (केवल तब जब SQL अपरिवर्तित हो)।


  1. C में टोकन क्या हैं? C में टोकन क्या हैं?

    एक टोकन एक प्रोग्राम का सबसे छोटा तत्व है जो कंपाइलर के लिए सार्थक है। कंपाइलर जो एक प्रोग्राम को सबसे छोटी इकाइयों में तोड़ता है, उन्हें टोकन कहा जाता है और ये टोकन संकलन के विभिन्न चरणों में आगे बढ़ते हैं।प्रकारटोकन विभिन्न प्रकारों में वर्गीकृत हैं, जिनका उल्लेख नीचे किया गया है:कीवर्ड्सआइडेंटिफा

  1. - C भाषा में प्रीप्रोसेसर कमांड्स (Preprocessor Commands)

    प्रीप्रोसेसर क्या है? प्रीप्रोसेसर एक प्रोग्राम है जो सोर्स कोड को कंपाइलर के पास जाने से पहले प्रोसेस करता है। यह # प्रतीक से शुरू होने वाले प्रीप्रोसेसर निर्देशों के तहत काम करता है। प्रीप्रोसेसर कमांड्स के तीन प्रकार 1. मैक्रो सब्स्टीट्यूशन डायरेक्टिव्स हर घटना पर एक आइडेंटिफायर को पूर्वनिर्धार

  1. C प्रोग्राम को मशीन कोड में बदलने के 4 चरण C प्रोग्राम को मशीन कोड में बदलने के 4 चरण

    प्रोग्राम बनाने और चलाने की प्रक्रिया C स्रोत कोड से निष्पादन योग्य मशीन कोड तक 4 मुख्य चरण होते हैं: लेखन और संपादन (Writing & Editing) संकलन (Compilation) लिंकिंग (Linking) निष्पादन (Execution) चरण 1: लेखन और संपादन टेक्स्ट एडिटर (VS Code, Vim, Notepad++) में कोड लिखें फाइल सहेजें: .c एक्सटे