我正在使用 oracle 数据库 11g 第 2 版,我正在使用 apache commons dbutils v1.6,以及 JDK 8 和 tomcat 8.0.30。所以我使用 QueryRunner 及其方法,如果我只是在这样的文本中连接我的变量,一切都很好
query.query ("select * from table where field = '"+value+"'", rsh);
最近我一直在尝试使用准备好的语句以正确的方式进行查询,但无济于事,每次我使用查询方法绑定参数
query.query ("select ESTREC,LOTE,FECREC from prueba.RECAUDO_ENC where NITREC = ? and ESTREC = ? ORDER BY FECREC DESC", rsh, new Object[]{"1234","PG"});
我没有明显的原因收到此错误
java.sql.SQLException: ORA-00942: table or view does not exist
Query: select ESTREC,LOTE,FECREC from prueba.RECAUDO_ENC where NITREC = ? and ESTREC = ? ORDER BY FECREC DESC; Parameters: [1234, PG]
我 100% 确定该表存在,并且用户对该表具有权限,如果我执行相同的查询连接查询中的参数,它运行得很好,所以我正在寻找这种行为背后的原因,是否有问题方法的使用?我也在某处读到,使用 dbutils 和 oracle 进行 BLOB 绑定存在一些问题,这可能在某种程度上相关吗?