解决思路:

首先出现SQLCODE=-407,SQLSTATE=23502应该是更新Table的时候某个字段为NULL,但是Table那个表字段约束是不为NULL,导致出现的问题。

步骤:

1.通过错误信息的“TBSPACED=2,TABLEID=-16895”,你可以通过查询SYSCAT.TABLES获取Table的信息:

SELECT * FROM SYSCAT.TABLES WHERE TBSPACED = 2 AND TABLEID = -16895;

2.然后再根据刚刚查出来的TABNAME和错误信息中的COLNO=7查询SYSCAT.COLUMNS,获取Table中相应的字段名称:

SELECT * FROM SYSCAT.COLUMNS WHERE TABNAME = 'OTC_CCY_OPTION_LEG' AND COLNO = 7;

3.最后根据查询找到对应的字段,发现确实有不为NULL的约束,代码传的却是NULL。修改相应代码成功解决问题。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐