我试图从我的java代码调用存储过程,我得到一个sql异常。 这是我的代码片段
CallableStatement cstmt = conn.prepareCall("{call stroredprocname(?,?,?)}");
cstmt.setString(1, filePattern);
cstmt.setString(2, fromDate);
cstmt.setString(3, toDate);
ResultSet resultSet = cstmt.executeQuery();
这是我得到的错误代码:
com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -440, SQLSTATE: 42884, SQLERRMC: stroredprocname;PROCEDURE
at com.ibm.db2.jcc.c.tf.e(tf.java:1680)
at com.ibm.db2.jcc.c.tf.a(tf.java:1239)
at com.ibm.db2.jcc.b.jb.h(jb.java:139)
at com.ibm.db2.jcc.b.jb.d(jb.java:71)
at com.ibm.db2.jcc.b.w.d(w.java:54)
at com.ibm.db2.jcc.b.cc.i(cc.java:208)
at com.ibm.db2.jcc.c.tf.o(tf.java:1236)
at com.ibm.db2.jcc.c.uf.ib(uf.java:1831)
at com.ibm.db2.jcc.c.uf.d(uf.java:2296)
at com.ibm.db2.jcc.c.vf.Z(vf.java:159)
at com.ibm.db2.jcc.c.vf.execute(vf.java:142)
at MyClass(MyClass.java:102)
有些人可以帮帮我吧!提前谢谢!
答案 0 :(得分:0)
错误定义440-无法找到商店过程位置,这意味着您错过了案例中的模式名称。
请在过程名称前添加模式名称,例如:
CallableStatement cstmt = conn.prepareCall(“{call schemaname.stroredprocname(?,?,?)}”);
第2期错误313 - pl / sql查询与Java代码之间的参数不匹配。