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