查找有错误的列/字段



我在一台大型机上工作,在表中插入一行时,我的DB2Cobol程序被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

通常,我希望错误列的名称显示在SQLCODE消息中(事实上,它看起来就像COLUMNCANNOT之间有两个空格,我希望列名在那里)。

但是,根据文档,实际的列名也可能显示在SQLCA中。我会尝试输出SQLERRMC的值,看看您的列是否显示在其中。

最新更新