hedaozhong
JAVA调用DB2存储过程出现错误
现在碰到一个很奇怪的问题,在java里面调用db2数据库里面的存储过程时总是报错:存储过程和JAVA程序与下面类似
存储过程:
CREATE PROCEDURE GETATT()
LANGUAGE SQL
RESULT SET 1
BEGIN
DECLARE p_CURSOR CURSOR WITH RETURN TO CALLER FOR SELECT MC FROM A;
OPEN CURSOR;
END;
java代码:
Callablestatement cstmt = conn.prepareCall("{call GETATT()}");
cstmt.execute();
ResultSet rs = cstmt.getResultSet();
我这样得到结果集后对其进行操作时总是出现问题。只要对rs操作了一次,操作第二次时总会报错,说是结果集已经关闭。
后来我在rs = cstmt.getResultSet();下面作如下处理时结果更是奇怪。
System.out.println( rs.isClosed());
System.out.println( rs.isClosed());
打印的两行竟然会出现两个不同的结果。上面一个为false,下面的那个为true。
当我将得到结果集的方式改成如下方式时还是出现上面同样的错误:
Callablestatement cstmt = conn.prepareCall("{call GETATT()}");
ResultSet rs = cstmt.executeQuery();
请问为什么会出现这种情况?该怎么去解决啊?
不甚感激!!!!!!