Buenos días, Javier. 

Esa es la misma sensación que tengo yo, que la sentencia preparada
anterior está todavía "en el limbo" y por eso no puede volver a
prepararla. Lo que no sé es como sacarla de ese limbo.  

El procedimiento está creado como NOT DETERMINISTIC, ya que entre dos
ejecuciones los datos podrían haber variado.

---
url: http://www.paredes.info
mail: juancar...@paredes.info 

El 29/06/2017 18:45, Javier Mora escribió:

> ¿Podría ser que el cursor no se cierre o la sentencia preparada anterior 
> estuviera todavía activa/vigente/etc (no sabría cómo expresarlo)? 
> 
> ¿Algún parámetro al crear el procedimiento como DETERMINISTIC? Esto son 
> "palos de ciego". 
> 
> Javier 
> 
> DE: forum.help400-boun...@listas.combios.es 
> [mailto:forum.help400-boun...@listas.combios.es] EN NOMBRE DE Juan Carlos 
> Paredes Castañón
> ENVIADO EL: jueves, 29 de junio de 2017 17:12
> PARA: Forum Help 400
> ASUNTO: Una de procedimientos almacenados 
> 
> 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 (c) Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a