小编csc*_*ndr的帖子

错误com.ibm.db2.jcc.am.SqlException:[jcc] [t4] [10120] [10898] [3.64.82]无效操作:结果集已关闭.ERRORCODE = -4470,SQLSTATE = null

嗨,我只在DB2中有这个问题,我使用普通的jdbc来执行一个简单的查询.
然后我获取ResultSet,并且在获取结果集期间,我调用另一个方法,该方法又执行另一个查询(打开和关闭其他ResultSet).当控件回到调用者时,我的原始ResultSet被关闭,这真的很奇怪
.PS:我在下面发布的代码可以正常使用Sql Server,甚至可以使用DB2 express,但是在客户端环境中(DB2 on Z/OS) )驱动程序版本3.64.82没有.

..........
    PreparedStatement  pst=conn.prepareStatement(query);
    ResultSet rs=pst.executeQuery();

    while(rs.next()){
        System.out.println("Id:"+rs.getInt("ID"));
        System.out.println("ULTERIORE SPECIFICA   "+getUlterioreSpecifica(conn,rs.getInt("ID")));
        System.out.println("Desc: "+rs.getString("DESC"));
        System.out.println("ETA: "+rs.getInt("ETA"));

    }
    ........
Run Code Online (Sandbox Code Playgroud)

//其他方法

    private static String getUlterioreSpecifica(Connection conn, int int1) throws Exception{

    String query="select ult_desc from specifica where id=?";
    String retVal="";
      PreparedStatement pst=conn.prepareStatement(query);
      pst.setInt(1, int1);
      ResultSet rs=pst.executeQuery();
      while(rs.next()){
          retVal=rs.getString(1);
      }
      rs.close();
      pst.close();
    return retVal;
}
Run Code Online (Sandbox Code Playgroud)

java db2 jdbc

1
推荐指数
1
解决办法
5274
查看次数

标签 统计

db2 ×1

java ×1

jdbc ×1