找出错误的列/字段

时间:2014-09-04 15:20:50

标签: db2 cobol mainframe

我正在使用大型机,并且在表中插入行时,我的DB2 Cobol程序被SQLCODE -407所取代。我知道这个错误的补救措施,但INSERT查询插入到100多个字段中。除了让显示知道NULL值的哪个字段出错之外,还有其他方法吗?以下是我收到的错误消息:

DB2ERRD  **ERROR** DB2 CALL UNSUCCESSFUL.  SQLCODE = -407.  WARNING FLAGS =     
 DSNT408I SQLCODE = -407, ERROR:  AN UPDATE, INSERT, OR SET VALUE IS NULL, BUT THE OBJECT COLUMN  CANNOT CONTAIN NULL 
          VALUES                                                                
 DSNT418I SQLSTATE   = 23502 SQLSTATE RETURN CODE                               
 DSNT415I SQLERRP    = DSNXRIHB SQL PROCEDURE DETECTING ERROR                   
 DSNT416I SQLERRD    = -136  0  0  -1  0  0 SQL DIAGNOSTIC INFORMATION          
 DSNT416I SQLERRD    = X'FFFFFF78'  X'00000000'  X'00000000'  X'FFFFFFFF'  X'00000000'  X'00000000' SQL DIAGNOSTIC 
      INFORMATION

1 个答案:

答案 0 :(得分:1)

通常情况下,我希望错误列的名称会显示在您的SQLCODE邮件中(实际上,好像COLUMNCANNOT之间有两个空格,我希望列名称是。)

但是,根据the docs,实际的列名称也可能会显示在SQLCA中。我会尝试输出SQLERRMC的值,以查看您的列是否显示在那里。