database error



IBM's flagship relational database management system

database error

Postby ciby81 » Thu Jun 03, 2010 12:42 pm

Dear Sir,


I have written the following code it reads the reords from file
breaks into respective variables the values appear in the host variables used to insert values in database it executes with maxcc zero but fails

data rows do not get insert into database sql code generated is

00000031j can anyone locate and explain the error

IDENTIFICATION DIVISION.                 
 PROGRAM-ID. PROG30.                     
 ENVIRONMENT DIVISION.                   
 INPUT-OUTPUT SECTION.                   
 FILE-CONTROL.                           
         SELECT IFILE ASSIGN TO DD1.     
 DATA DIVISION.                           
 FILE SECTION.                           
 FD IFILE.                               
 01 IREC.                                 
    02 FID PIC X(4).                     
    02 FILLER PIC X(2).                   
    02 FNAME PIC X(10).                   
    02 FILLER PIC X(3).                   
    02 FSAL PIC X(4).                     
    02 FILLER PIC X(57).                 
 WORKING-STORAGE SECTION.                 
     EXEC SQL                                     
     INCLUDE SQLCA                                 
     END-EXEC.                                     
01  DCLEMP.                                       
    10 EID                  PIC S9(4) USAGE COMP. 
    10 ENAME.                                     
       49 ENAME-LEN         PIC S9(4) USAGE COMP. 
       49 ENAME-TEXT        PIC X(10).             
    10 ESAL                 PIC S9(4) USAGE COMP. 
   77 TID PIC 9(4).                               
   77 TNAME PIC A(10).                             
   77 TSAL PIC 9(4).                               
 77 EOF PIC X VALUE 'N'.                           
77 VAR1 PIC X(80).                                 
PROCEDURE DIVISION.                               
    OPEN INPUT IFILE.                             
    READ IFILE.                                   
    MOVE IREC TO VAR1.
      UNSTRING VAR1 DELIMITED BY ALL SPACE INTO TID, TNAME, TSAL. 
  MOVE TID TO EID.                                           
  MOVE TNAME TO ENAME.                                       
  MOVE TSAL TO ESAL.                                         
  DISPLAY "ENAME:", ENAME.                                   
  DISPLAY "EID: ", EID.                                       
  DISPLAY "ESAL:", ESAL.                                     
  EXEC SQL                                                   
     INSERT INTO EMP VALUES ( :EID, :ENAME, :ESAL)           
  END-EXEC .                                               
  DISPLAY SQLCODE.                                           
  CLOSE IFILE.                                               
  STOP RUN.       



regards

Sibi Varghese
ciby81
 
Posts: 4
Joined: Fri Apr 23, 2010 9:17 am
Has thanked: 0 time
Been thanked: 0 time

Re: database error

Postby dick scherrer » Thu Jun 03, 2010 11:24 pm

Hello,

maxcc zero but fails
You need to show how it "fails". You should post the output from an execution. Do a "select count(*) from emp" before and after the insert and display the counts.

Have you looked up the reason for the -311 sql error?
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: database error

Postby dick scherrer » Thu Jun 03, 2010 11:29 pm

Hello,

Never mind about the request for info just yet. You need to fix the -311 first.

MAXCC zero has nothing to do with anything for this situation. . .
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times


Return to DB2

 


  • Related topics
    Replies
    Views
    Last post