Oracle - Error en FETCH (ProC/C++)

 
Vista:

Error en FETCH (ProC/C++)

Publicado por Alvaro (1 intervención) el 18/10/2002 21:53:53
Hola...
Estoy desarrollando una aplicación en C++ que utiliza la herramienta de Oracle ProC/C++.
El asunto es que cuando declaro un cursor para una consulta SELECT y posteriormente efectúo los FETCH necesarios para extraer los registros, observo dos resultados distintos dependiendo de cuantas cosas sucedan entre cada instrucción FETCH.

Primera situación:

1.- Declarar cursor.
2.- Abrir cursor.
3.- Mientras la consulta FETCH obtenga resultados:
3.1.- Agregar el registro obtenido a una lista dinámica.
4.- Loop.

En este caso el comportamiento del FETCH es el deseado, todos los registro son obtenidos y agregados a la lista.

Segunda situación:

1.- Declaro el cursor.
2.- Abrir el cursor.
3.- Mientras la consulta FETCH obtenga resultados:
3.1.- Analizar registro obtenido. *
3.2.- Formatear una cadena con los datos del registro. *
3.3.- Escribir cadena en archivo. *
4.- Loop.

Las líneas que tienen (*) al lado representan llamadas a funciones distintas.
En este caso se presenta un problema, en el momento en el que se efectúa el segundo FETCH, el set de datos activos que tenía el cursor en el cual se hace el FETCH ya no existe, y Oracle retorna el error ORA-01002 = “Fetch out of sequence”.
Si alguien tiene una idea de que puede estar pasando, le agradecería mucho su ayuda.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

estas haciendo commit?

Publicado por Fran (25 intervenciones) el 21/10/2002 16:30:41
podria ser por éste motivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar