我们有一个db2数据库v 9.7 FP 1
我们有一个这样的表:
CREATE TABLE TAB1(COL1 VARCHAR(30),...);
我们的应用程序从前端获取col1值,并在Java 7中形成PreparedStatement,如下所示:SELECT FROM TAB1 WHERE COL1 = '?'
。如果来自UI的输入具有> 30个字符,在执行预准备语句时,我们收到DB2错误
Error Code: -302
但同样的陈述,即SELECT * FROM TAB1 WHERE COL1 =' XXXXX&#39 ;; (COL1长度> 30个字符),如果从cmd直接在数据库上执行,我们不会遇到任何错误。
此错误消息的可能原因是什么?
答案 0 :(得分:1)
错误代码302与列的超出容量完全相关:
答案 1 :(得分:0)
是的,没错。该列限制为30个字符,因此当您选择查询结果集时,如果> 30,它会引发错误。