如何执行会返回数据集的存储过程?
我是这样做的:
CallableStatement cstat=null;
connect.setAutoCommit(true);
cstat = connect.prepareCall("{? = call my_sp_month(?, ?, ?)}");
cstat.setInt(2, 2);
cstat.setInt(3, 2004);
cstat.setInt(4, 8);
cstat.registerOutParameter(1, Types.OTHER);
cstat.execute();
r = (ResultSet) cstat.getResultSet();
执行到cstat.registerOutParameter(1, Types.OTHER);时,出现异常说指定的类型当前的driver不支持,我不知道是否指types.OTHER。把这行去掉后,当执行到cstat.execute时,出现异常说invalid parameter binding,我估计是第一个参数没有做任何设置的原因。那我就晕倒了,不知道该如何正确的返回存储过程的数据集。
有人说用exec执行,像做一般的库表查询一样,可以么?