in init.ora file increase the values of cursors.

解决方案 »

  1.   

    增加init<sid>.ora文件中的open_cursors这个参数值。
    注:需要重启库
      

  2.   

    在oracle 9i上的init<sid>.ora中没有“open_cursors”这一项,我查过了.
    请问各位在oracle 9i上碰到这个问题要怎样解决?
      

  3.   

    alter system set open_cursors=300;
      

  4.   

    在init<sid>.ora文件中增加open_cursors参数:
    open_cursors=300然后shutdown数据库
    然后create spfile from pfile
    然后重启数据库就ok.
      

  5.   

    借宝地提问:
    我在跟踪如下这段代码时也出现楼主的错误:ora_01000
    请高手指点,我用DELPHI 5 + ORACLE 8 数据库
    代码如下:
    try 
      dm.mis.StartTransaction ;
      .
      .
      .
    //向损益明细中插入数据.先从库存表或(商品表和批次表)中查询进价和批次号
        tempqy.First ;
        while not tempqy.Eof do begin
          PFCT:=tempqy.fieldbyname('pf').asinteger;
          //库存表中没有当前商品时从商品表里查进价.
          ssql:='select purchaseprice from hq_goods where goodsid='''+TempQy.fieldbyname('goodsid').asstring+'''';
          Runsql(ssql,checkqy,true);
          PPrice:=checkqy.fieldbyname('purchaseprice').asfloat;      //从库存表中查询当前损益商品的批次.
          ssql:='select jobid from cse_depot where depotid='''+DepotIDs+''' and goodsid='''+TempQy.fieldbyname('goodsid').asstring+'''';
          if RunSql(ssql,checkqy,true)<>0 then
            jobid:=checkqy.fields[0].asinteger
          else begin //从批次表里取最大批次.
            jobid:=MaxJobID;
            ssql:='update sa_jobmax set maxid='+inttostr(jobid+1);
            runsql(ssql,checkqy,false);
          end;      //向损益明细中插入数据.
          ssql:='insert into cse_checkprofitloss_ct(CHECKPLID,goodsid,pfcount,jobid,APrice,lossprinese) values('''
             +PLId+''','''+TempQY.fieldbyname('goodsid').asstring+''','+inttostr(PFCT)+','+inttostr(jobid)+','+floattostr(PPrice)+','+floattostr(pprice*PFCT)+')';
          Runsql(ssql,CheckQy,false,exes1);
          exes2:=exes2 and exes1;
          tempqy.next;
        end;   ......
      dm.mis.commit;
    except 
      dm.mis.rollback;
      exit;
    end;