PLS-00225: 子程序或游标 'JC_MONTH_HAND' 引用超出范围调用存程过程出错,有哪位大侠帮忙代码如下:public int DoYj(final String vcIds){
int returnInt = 0;
try{
final String SQL_PROCEDURE_NAME = "{call JC_MONTH_HAND.uitl_delex(?,?) }";
Log.logSql(SQL_PROCEDURE_NAME);
Integer delCnt = (Integer)this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)throws HibernateException, SQLException {
try {
CallableStatement cstmt = session.connection().prepareCall(SQL_PROCEDURE_NAME);
cstmt.setString(1, vcIds);
cstmt.registerOutParameter(2,java.sql.Types.VARCHAR);
cstmt.execute();
int cnt = Integer.parseInt(cstmt.getString(2));
cstmt.close();
return new Integer(cnt);
}
catch (SQLException e) {
e.printStackTrace();
return new Integer(0);
}
}
});
returnInt= delCnt.intValue();
}catch(Exception e){
e.printStackTrace();
}
return returnInt;
}
int returnInt = 0;
try{
final String SQL_PROCEDURE_NAME = "{call JC_MONTH_HAND.uitl_delex(?,?) }";
Log.logSql(SQL_PROCEDURE_NAME);
Integer delCnt = (Integer)this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)throws HibernateException, SQLException {
try {
CallableStatement cstmt = session.connection().prepareCall(SQL_PROCEDURE_NAME);
cstmt.setString(1, vcIds);
cstmt.registerOutParameter(2,java.sql.Types.VARCHAR);
cstmt.execute();
int cnt = Integer.parseInt(cstmt.getString(2));
cstmt.close();
return new Integer(cnt);
}
catch (SQLException e) {
e.printStackTrace();
return new Integer(0);
}
}
});
returnInt= delCnt.intValue();
}catch(Exception e){
e.printStackTrace();
}
return returnInt;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货