hiii,我在我的 Web 应用程序的 java 类中调用存储过程,有一些报告需要花费大量时间来呈现 jsp/HTML,我还使用存储过程查询进行了检查,它只需 2 秒即可执行甲骨文浏览器。我检查了我的 SP 调用代码,发现我的结果集获取时间非常短,但是当尝试使用 While(rst.next) 迭代结果集时,在 while 循环中打印 SOP 几乎需要 3 分钟,我怀疑 ret.next() 一定有问题,我的代码如下,
Connection connection   = null;
CallableStatement stmt  = null;
ResultSet rst           = null ;
connection = DBConnector.getConnection();
stmt = connection.prepareCall("{call MIS_GSGR_ASON.MIS_DIVNETSALE_ASON(?,?,?,?,?,?,?,?,?)}");
            stmt.setString(1,START_DT);                 
            stmt.setString(2,END_DT);                   
            stmt.setString(3,DIVISION);             
            stmt.setString(4,LOC_ID);   
            stmt.setInt(5,USER_GRP);
            stmt.setInt(6,FIELD_ID);
            stmt.setInt(7,Integer.parseInt(PERIOD_ID));
            stmt.setString(8,zone);
            stmt.registerOutParameter(9+INC,OracleTypes.CURSOR);
            stmt.execute();
            rst = (ResultSet) stmt.getObject(9+INC);
            System.out.println("Got resultset . . . .");
            data = new ArrayList<MainActionAll>();
            while(rst.next()){
            System.out.println("In loop");} 
任何帮助都将受到高度评价,请帮助我,谢谢,amol