oracle 9i使用pro*c 跑着的程序,前几天出现 ORA-01002: fetch out of sequence 错误!但重启后又好了
      EXEC SQL DECLARE up_cur CURSOR FOR  select Color from  T1 
      EXEC SQL FETCH up_cur INTO :Color 
     if(nRes == _breaken || nRes == _error)
        {
            ERR(("err(%d:%s)",nRes,ReportErr().c_str()));
            EXEC SQL CLOSE up_cur;
            return nRes;
        }谁遇到这样的问题。这里没有涉及到commit.rowblack 

解决方案 »

  1.   

      游标在最后一条记录fetch完后再fetch就会出这个错误。  EXEC SQL DECLARE up_cur CURSOR FOR select Color from T1 
      EXEC SQL FETCH up_cur INTO :Color  
      /*
       // 这里看你用什么mode模式编译的*.pc,如果是ANSI,则要写成:
       // sqlca.sqlcode == 100 
       */
      if( sqlca.sqlcode == 1403 )
      {
         返回或者break循环;
      }