增大初始化文件参数:
open_cursors = 700open_cursors的缺省值是300
不过提醒你,打开游标过多,会消耗服务器系统资源

解决方案 »

  1.   

    你可以试一下在for循环里面同时打开和关闭对象db
    ResultSet nameSet = null;
    for(int i=0; i<700; i++){
      //打开db
      sql ="select * from usermaster";
      nameSet = db.executeQuery(sql);
      if (nameSet !=null){  
         nameSet.close();
         nameSet = null;   
      }
      //关闭db
    }
      

  2.   

    这样不行吗?
    select * from usermaster
    union
    select * from usermaster
    union
    select * from usermaster
    ....
      

  3.   

    //增大初始化文件参数:
    //open_cursors = 700//open_cursors的缺省值是300同意
      

  4.   

    增大初始化文件参数:
    open_cursors = 700
    或打开使用后关闭
      

  5.   

    可是从我的程序中可以看出,我并没有作打开游标的动作阿。只不过就是用for循环来循环查询数据而已。可是却报“打开游标数过多”的错误。奇怪.
      

  6.   

    在你使用nameSet = db.executeQuery(sql);方法时就在使用cursor。
    最好你把executeQuery()方法重写,在每次使用完cursor后记得关闭之。
      

  7.   

    我该如何重写executeQuery()方法呢?
    如何关闭cursor?
      

  8.   

    如果是proc我知道怎么做,但是java就不知道了,好像java里有jdbc第三方的开发包吧?你上网找找。
      

  9.   

    最好还是打开后就在for内就关闭,。因为你不知道这个for有多大。改再大都没有用。