使用db2中的Prepared语句准备的查询失败

时间:2015-09-01 06:49:03

标签: java db2 prepared-statement

我们有一个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直接在数据库上执行,我们不会遇到任何错误。

此错误消息的可能原因是什么?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

是的,没错。该列限制为30个字符,因此当您选择查询结果集时,如果> 30,它会引发错误。