Example: LOBFILE.SQB in COBOL

 

This example program, written in COBOL, extracts CLOB data from a table to an external file.

By using the code examples, you agree to the terms of the Code license and disclaimer information.

  
 Identification Division.
 Program-ID. "lobfile".
 
 Data Division.
 Working-Storage Section.
     copy "sqlenv.cbl".
     copy "sql.cbl".
     copy "sqlca.cbl".
 
     EXEC SQL BEGIN DECLARE SECTION END-EXEC. 1  
 01 userid            pic x(8).
 01 passwd.
   49 passwd-length   pic s9(4) comp-5 value 0.
   49 passwd-name     pic x(18).
 01 resume            USAGE IS SQL TYPE IS CLOB-FILE.
 01 lobind            pic s9(4) comp-5.
     EXEC SQL END DECLARE SECTION END-EXEC.
 
 77 errloc          pic x(80).
 
 Procedure Division.
 Main Section.
     display "Sample COBOL program: LOBFILE".
 
* Get database connection information.
     display "Enter your user id (default none): " 
          with no advancing.
     accept userid.
 
     if userid = spaces        EXEC SQL CONNECT TO sample END-EXEC      else        display "Enter your password : " with no advancing        accept passwd-name.
 
* Passwords in a CONNECT statement must be entered in a VARCHAR * format with the length of the input string.
     inspect passwd-name tallying passwd-length for characters         before initial " ".
 
     EXEC SQL CONNECT TO sample USER :userid USING :passwd          END-EXEC.
     move "CONNECT TO" to errloc.
     call "checkerr" using SQLCA errloc.
 
     move "RESUME.TXT" to resume-NAME.                2  
     move 10 to resume-NAME-LENGTH.
     move SQL-FILE-OVERWRITE to resume-FILE-OPTIONS.
 
     EXEC SQL SELECT resume INTO :resume :lobind 3  
              FROM emp_resume               WHERE resume_format = 'ascii'
              AND empno = '000130' END-EXEC.
     if lobind less than 0 go to NULL-LOB-indicated.
 
     display "Resume for EMPNO 000130 is in file : RESUME.TXT".
     go to End-Main.
 
 NULL-LOB-indicated.
     display "NULL LOB indicated".
 
 End-Main.
     EXEC SQL CONNECT RESET END-EXEC.
     move "CONNECT RESET" to errloc.
     call "checkerr" using SQLCA errloc.
 End-Prog.
            stop run.

 

Parent topic:

Example: Extracting CLOB data to a file