Buenas tardes, foro: 

A ver si alguien me puede echar una mano, porque llevo todo el día
volviéndome loco con este tema y no encuentro solución: 

Tengo un procedimiento almacenado en SQL que obtiene datos de diferentes
ordenadores (todos ellos AS/400). Tiene un primer cursor que, en función
de un parámetro recibido obtiene los ordenadores a los que se tiene que
conectar. 

Recorriendo este cursor, mediante SQL dinámico, prepara una sentencia
para obtener, en un segundo cursor, unos acumulados de unidades
pendientes en cada uno de los ordenadores. Este resultado lo graba en
una tabla temporal, que luego es la que se devuelve (una vez procesados
todos los ordenadores) como Result Set del procedimiento. 

La primera vez que ejecuto el procedimiento, todo funciona
correctamente. Lo he probado desde STRSQL en pantalla verde, desde
Ejecutar Scripts de SQL de System i Navigator y desde Data Studio. 

La segunda vez no me devuelve ningún resultado. Si cierro la conexión
(me salgo del STRSQL, cierro la ventana de Ejecutar Scripts o desconecto
de la base de datos en Data Studio) y la vuelvo a abrir, me devuelve
correctamente los datos de nuevo. 

Revisando las anotaciones de trabajo, veo que la primera vez que lo
ejecuto, al preparar dinámicamente el cursor, hace correctamente el
prepare y abre el cursor.  

La segunda, llega a componer la variable para el prepare, pero cuando va
a abrir el cursor me da el siguiente error: 

"Sentencia preparada ST2 no encontrada." 

¿Alguna idea al respecto?

Gracias. 

Juan Carlos. 

-- 
url: http://www.paredes.info
mail: juancar...@paredes.info
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a