RE: Problema en llamada a procedimiento almacenado
Efectivamente con SET PATH ESQUEMA_DATOS; no he tenido que calificar la llamada al procedimiento almacenado. Gracias a todo por la ayuda. Javier De: forum.help400-boun...@listas.combios.es [mailto:forum.help400-boun...@listas.combios.es] En nombre de Potele Enviado el: viernes, 5 de abril de 2019 10:28 Para: forum.help400 Asunto: Re: Problema en llamada a procedimiento almacenado Que yo sepa, SET SCHEMA no influye en llamadas a procedimientos (PAs) o a funciones de usuario (UDFs). Para que funcione una llamada a PA o UDF sin calificar con el esquema, se debe usar SET PATH, no SET SCHEMA. SET SCHEMA es para las SELECT, UPDATE, DELETE, etc. El 05/04/2019 a las 10:15, Javier Mora escribió: Si no me equivoco, está creado como *SQL, aunque el convenio no se puede indicar en el CREATE PROCEDURE. Voy a leer con interés el enlace que indicas. Gracias por tu interés. Javier De: forum.help400-boun...@listas.combios.es<mailto:forum.help400-boun...@listas.combios.es> [mailto:forum.help400-boun...@listas.combios.es] En nombre de Alex Martínez Enviado el: viernes, 5 de abril de 2019 8:48 Para: forum.help400 Asunto: Re: Problema en llamada a procedimiento almacenado Hola depende de qué Convenio de denominación (*SYS o *SQL ) se utilizó al crear el procedimiento, busca o no en la lista de bibliotecas Básicamente utilizando *SQL... NO se busca en la lista de bibliotecas Consulta las respuesta de Birgitta Hauser en éste hilo https://www.ibm.com/developerworks/community/forums/html/topic?id=----14560068 El jue., 4 abr. 2019 a las 18:47, Javier Mora (mailto:jm...@musgrave.es>>) escribió: Hola a tod@s, tengo un problema con un procedimiento almacenado, si en la llamada CALL no le pongo el nombre del esquema, me devuelve el error CALL PROCEDIMIENTO_X(); SQL0204 - PROCECIMIENTO_X en BIBDAT de tipo *N no encontrado. SQL State: 42704 Error Code: -204 Sin embargo, con CALL ESQUEMA_DATOS.PROCEDIMIENTO_X(); Sí que funciona. La única diferencia que veo con otros procedimientos almacenados que utilizo es que el nombre de biblioteca y esquema SQL es que ahora no coinciden. En otras llamadas, siempre ha coincidido que el nombre del esquema era el nombre de la biblioteca. Aún forzando el esquema actual: SET SCHEMA ESQUEMA_DATOS; Sigue sin funcionar. Tengo la sensación que la llamada sin calificar está buscando un nombre de programa en la biblioteca, pero al ser de más de 10 letras no lo encuentra. ¿Os habéis encontrado con una situación parecida? ¿Cómo lo habéis resuelto? No se me ocurre cómo solucionarlo y no quisiera indicar en todos los CALLs el nombre del esquema. Además, un SELECT sin calificar las tablas con el esquema, las encuentra correctamente. Saludos y gracias a todos por vuestros comentarios. Javier Mora Javier Mora Departamento de Informática E-mail: mailto:jm...@musgrave.es<mailto:lrodrig...@musgrave.es> Web: http://www.musgrave.es MUSGRAVE ESPAÑA S.A.U. Crta. Casa del León, Km. 2 03293 - ELCHE - ALICANTE (SPAIN) Tlfo: +34 96 665 73 00 Fax: +34 96 665 73 14 P Antes de imprimir este e-mail piense si realmente es necesario hacerlo, el medio ambiente se lo agradecerá. Este correo electrónico y cualquier fichero adjunto al mismo contienen información de carácter confidencial exclusivamente dirigida a su destinatario o destinatarios. Queda prohibida su divulgación, copia o distribución a terceros sin la previa autorización escrita de Musgrave. En el caso de haber recibido este correo electrónico por error, se ruega notificar inmediatamente esta circunstancia mediante reenvío a la dirección electrónica del remitente. The information in this e-mail and in any attachments is confidential and solely for the attention and use of the named addressee or addresses. You are hereby notified that any dissemination, distribution or copy of this communication is prohibited without the prior written consent of Musgrave. If you have received this communication in error, please, notify the sender by reply e-mail. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L. [Imagen quitada por el remitente. Logotipo Ayuntamiento Vitoria-Gasteiz]<https://www.vitoria-gasteiz.org> José de la Herran Núñez Kordinazio Teknikoko Burua Jefe del Área de Coordinación Técnica Ayuntamiento de Vitoria-Gasteiz Informazioaren Teknologien Saila Departamento de Tecnologías de la Información Tel: work945161614 | Fax fax945161600 jher...@vitoria-gasteiz.org<mailto:jher...@vitoria-gasteiz.org> | www.vitoria-gasteiz.org<http://www.vitoria-gasteiz.org> [Imagen quitada por el remitente. Logotipo Green Capital]<https://www.vitoria-gasteiz.org> ___
Re: Problema en llamada a procedimiento almacenado
Que yo sepa, SET SCHEMA no influye en llamadas a procedimientos (PAs) o a funciones de usuario (UDFs). Para que funcione una llamada a PA o UDF sin calificar con el esquema, se debe usar SET PATH, no SET SCHEMA. SET SCHEMA es para las SELECT, UPDATE, DELETE, etc. El 05/04/2019 a las 10:15, Javier Mora escribió: Si no me equivoco, está creado como *SQL, aunque el convenio no se puede indicar en el CREATE PROCEDURE. Voy a leer con interés el enlace que indicas. Gracias por tu interés. Javier De: forum.help400-boun...@listas.combios.es [mailto:forum.help400-boun...@listas.combios.es] En nombre de Alex Martínez Enviado el: viernes, 5 de abril de 2019 8:48 Para: forum.help400 Asunto: Re: Problema en llamada a procedimiento almacenado Hola depende de qué Convenio de denominación (*SYS o *SQL ) se utilizó al crear el procedimiento, busca o no en la lista de bibliotecas Básicamente utilizando *SQL... NO se busca en la lista de bibliotecas Consulta las respuesta de Birgitta Hauser en éste hilo https://www.ibm.com/developerworks/community/forums/html/topic?id=----14560068 El jue., 4 abr. 2019 a las 18:47, Javier Mora (<jm...@musgrave.es>) escribió: Hola a tod@s, tengo un problema con un procedimiento almacenado, si en la llamada CALL no le pongo el nombre del esquema, me devuelve el error CALL PROCEDIMIENTO_X(); SQL0204 – PROCECIMIENTO_X en BIBDAT de tipo *N no encontrado. SQL State: 42704 Error Code: -204 Sin embargo, con CALL ESQUEMA_DATOS.PROCEDIMIENTO_X(); Sí que funciona. La única diferencia que veo con otros procedimientos almacenados que utilizo es que el nombre de biblioteca y esquema SQL es que ahora no coinciden. En otras llamadas, siempre ha coincidido que el nombre del esquema era el nombre de la biblioteca. Aún forzando el esquema actual: SET SCHEMA ESQUEMA_DATOS; Sigue sin funcionar. Tengo la sensación que la llamada sin calificar está buscando un nombre de programa en la biblioteca, pero al ser de más de 10 letras no lo encuentra. ¿Os habéis encontrado con una situación parecida? ¿Cómo lo habéis resuelto? No se me ocurre cómo solucionarlo y no quisiera indicar en todos los CALLs el nombre del esquema. Además, un SELECT sin calificar las tablas con el esquema, las encuentra correctamente. Saludos y gracias a todos por vuestros comentarios. Javier Mora Javier Mora Departamento de Informática E-mail: mailto:jm...@musgrave.es Web: http://www.musgrave.es MUSGRAVE ESPAÑA S.A.U. Crta. Casa del León, Km. 2 03293 - ELCHE - ALICANTE (SPAIN) Tlfo: +34 96 665 73 00 Fax: +34 96 665 73 14 P Antes de imprimir este e-mail piense si realmente es necesario hacerlo, el medio ambiente se lo agradecerá. Este correo electrónico y cualquier fichero a
RE: Problema en llamada a procedimiento almacenado
Si no me equivoco, está creado como *SQL, aunque el convenio no se puede indicar en el CREATE PROCEDURE. Voy a leer con interés el enlace que indicas. Gracias por tu interés. Javier De: forum.help400-boun...@listas.combios.es [mailto:forum.help400-boun...@listas.combios.es] En nombre de Alex Martínez Enviado el: viernes, 5 de abril de 2019 8:48 Para: forum.help400 Asunto: Re: Problema en llamada a procedimiento almacenado Hola depende de qué Convenio de denominación (*SYS o *SQL ) se utilizó al crear el procedimiento, busca o no en la lista de bibliotecas Básicamente utilizando *SQL... NO se busca en la lista de bibliotecas Consulta las respuesta de Birgitta Hauser en éste hilo https://www.ibm.com/developerworks/community/forums/html/topic?id=----14560068 El jue., 4 abr. 2019 a las 18:47, Javier Mora (mailto:jm...@musgrave.es>>) escribió: Hola a tod@s, tengo un problema con un procedimiento almacenado, si en la llamada CALL no le pongo el nombre del esquema, me devuelve el error CALL PROCEDIMIENTO_X(); SQL0204 – PROCECIMIENTO_X en BIBDAT de tipo *N no encontrado. SQL State: 42704 Error Code: -204 Sin embargo, con CALL ESQUEMA_DATOS.PROCEDIMIENTO_X(); Sí que funciona. La única diferencia que veo con otros procedimientos almacenados que utilizo es que el nombre de biblioteca y esquema SQL es que ahora no coinciden. En otras llamadas, siempre ha coincidido que el nombre del esquema era el nombre de la biblioteca. Aún forzando el esquema actual: SET SCHEMA ESQUEMA_DATOS; Sigue sin funcionar. Tengo la sensación que la llamada sin calificar está buscando un nombre de programa en la biblioteca, pero al ser de más de 10 letras no lo encuentra. ¿Os habéis encontrado con una situación parecida? ¿Cómo lo habéis resuelto? No se me ocurre cómo solucionarlo y no quisiera indicar en todos los CALLs el nombre del esquema. Además, un SELECT sin calificar las tablas con el esquema, las encuentra correctamente. Saludos y gracias a todos por vuestros comentarios. Javier Mora Javier Mora Departamento de Informática E-mail: mailto:jm...@musgrave.es<mailto:lrodrig...@musgrave.es> Web: http://www.musgrave.es MUSGRAVE ESPAÑA S.A.U. Crta. Casa del León, Km. 2 03293 - ELCHE - ALICANTE (SPAIN) Tlfo: +34 96 665 73 00 Fax: +34 96 665 73 14 P Antes de imprimir este e-mail piense si realmente es necesario hacerlo, el medio ambiente se lo agradecerá. Este correo electrónico y cualquier fichero adjunto al mismo contienen información de carácter confidencial exclusivamente dirigida a su destinatario o destinatarios. Queda prohibida su divulgación, copia o distribución a terceros sin la previa autorización escrita de Musgrave. En el caso de haber recibido este correo electrónico por error, se ruega notificar inmediatamente esta circunstancia mediante reenvío a la dirección electrónica del remitente. The information in this e-mail and in any attachments is confidential and solely for the attention and use of the named addressee or addresses. You are hereby notified that any dissemination, distribution or copy of this communication is prohibited without the prior written consent of Musgrave. If you have received this communication in error, please, notify the sender by reply e-mail. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
RE: Problema en llamada a procedimiento almacenado
Tengo claro que necesitaré la lista de bibliotecas si el procedimiento busca algún objeto durante su ejecución. También tengo claro que si en la cadena de conexión indico el esquema por defecto tampoco necesito indicarlo en el CALL al procedimiento. El problema me surge cuando cambio el esquema con SET SCHEMA, aun así, me toca calificar la llamada. Gracias por tu interés. Javier De: forum.help400-boun...@listas.combios.es [mailto:forum.help400-boun...@listas.combios.es] En nombre de Nicolas Silva Enviado el: viernes, 5 de abril de 2019 1:16 Para: forum.help400 Asunto: Re: Problema en llamada a procedimiento almacenado Javier como estas? En mi experiencia siempre llamo a los Stored y Function incluyendo la biblioteca en donde estén creados. Creo que alguna vez use SET PATH=biblioteca1,biblioteca2, etc pero no tuve exito. Espero estas lineas te sirvan de ayuda. Saludos Nicolas. El jue., 4 abr. 2019 a las 13:47, Javier Mora (mailto:jm...@musgrave.es>>) escribió: Hola a tod@s, tengo un problema con un procedimiento almacenado, si en la llamada CALL no le pongo el nombre del esquema, me devuelve el error CALL PROCEDIMIENTO_X(); SQL0204 – PROCECIMIENTO_X en BIBDAT de tipo *N no encontrado. SQL State: 42704 Error Code: -204 Sin embargo, con CALL ESQUEMA_DATOS.PROCEDIMIENTO_X(); Sí que funciona. La única diferencia que veo con otros procedimientos almacenados que utilizo es que el nombre de biblioteca y esquema SQL es que ahora no coinciden. En otras llamadas, siempre ha coincidido que el nombre del esquema era el nombre de la biblioteca. Aún forzando el esquema actual: SET SCHEMA ESQUEMA_DATOS; Sigue sin funcionar. Tengo la sensación que la llamada sin calificar está buscando un nombre de programa en la biblioteca, pero al ser de más de 10 letras no lo encuentra. ¿Os habéis encontrado con una situación parecida? ¿Cómo lo habéis resuelto? No se me ocurre cómo solucionarlo y no quisiera indicar en todos los CALLs el nombre del esquema. Además, un SELECT sin calificar las tablas con el esquema, las encuentra correctamente. Saludos y gracias a todos por vuestros comentarios. Javier Mora Javier Mora Departamento de Informática E-mail: mailto:jm...@musgrave.es<mailto:lrodrig...@musgrave.es> Web: http://www.musgrave.es MUSGRAVE ESPAÑA S.A.U. Crta. Casa del León, Km. 2 03293 - ELCHE - ALICANTE (SPAIN) Tlfo: +34 96 665 73 00 Fax: +34 96 665 73 14 P Antes de imprimir este e-mail piense si realmente es necesario hacerlo, el medio ambiente se lo agradecerá. Este correo electrónico y cualquier fichero adjunto al mismo contienen información de carácter confidencial exclusivamente dirigida a su destinatario o destinatarios. Queda prohibida su divulgación, copia o distribución a terceros sin la previa autorización escrita de Musgrave. En el caso de haber recibido este correo electrónico por error, se ruega notificar inmediatamente esta circunstancia mediante reenvío a la dirección electrónica del remitente. The information in this e-mail and in any attachments is confidential and solely for the attention and use of the named addressee or addresses. You are hereby notified that any dissemination, distribution or copy of this communication is prohibited without the prior written consent of Musgrave. If you have received this communication in error, please, notify the sender by reply e-mail. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
Re: Problema en llamada a procedimiento almacenado
Hola depende de qué Convenio de denominación (*SYS o *SQL ) se utilizó al crear el procedimiento, busca o no en la lista de bibliotecas Básicamente utilizando *SQL... NO se busca en la lista de bibliotecas Consulta las respuesta de Birgitta Hauser en éste hilo https://www.ibm.com/developerworks/community/forums/html/topic?id=----14560068 El jue., 4 abr. 2019 a las 18:47, Javier Mora () escribió: > Hola a tod@s, > > > > tengo un problema con un procedimiento almacenado, si en la llamada CALL > no le pongo el nombre del esquema, me devuelve el error > > > > CALL PROCEDIMIENTO_X(); > > > > SQL0204 – PROCECIMIENTO_X en BIBDAT de tipo *N no encontrado. > > SQL State: 42704 > > Error Code: -204 > > > > Sin embargo, con > > > > CALL ESQUEMA_DATOS.PROCEDIMIENTO_X(); > > > > Sí que funciona. > > > > La única diferencia que veo con otros procedimientos almacenados que > utilizo es que el nombre de biblioteca y esquema SQL es que ahora no > coinciden. En otras llamadas, siempre ha coincidido que el nombre del > esquema era el nombre de la biblioteca. > > > > Aún forzando el esquema actual: > > > > SET SCHEMA ESQUEMA_DATOS; > > > > Sigue sin funcionar. > > > > Tengo la sensación que la llamada sin calificar está buscando un nombre de > programa en la biblioteca, pero al ser de más de 10 letras no lo encuentra. > > > > ¿Os habéis encontrado con una situación parecida? ¿Cómo lo habéis > resuelto? No se me ocurre cómo solucionarlo y no quisiera indicar en todos > los CALLs el nombre del esquema. > > > > Además, un SELECT sin calificar las tablas con el esquema, las encuentra > correctamente. > > > > Saludos y gracias a todos por vuestros comentarios. > > > > Javier Mora > > > > > > *Javier Mora* > > Departamento de Informática > > E-mail: mailto:jm...@musgrave.es > Web: http://www.musgrave.es > > *MUSGRAVE ESPAÑA S.A.U.* > Crta. Casa del León, Km. 2 > 03293 - ELCHE - ALICANTE (SPAIN) > Tlfo: +34 96 665 73 00 Fax: +34 96 665 73 14 > > *P* *Antes de imprimir este e-mail piense si realmente es necesario > hacerlo, el medio ambiente se lo agradecerá.* > > Este correo electrónico y cualquier fichero adjunto al mismo contienen > información de carácter confidencial exclusivamente dirigida a su > destinatario o destinatarios. Queda prohibida su divulgación, copia o > distribución a terceros sin la previa autorización escrita de Musgrave. En > el caso de haber recibido este correo electrónico por error, se ruega > notificar inmediatamente esta circunstancia mediante reenvío a la dirección > electrónica del remitente. > > The information in this e-mail and in any attachments is confidential and > solely for the attention and use of the named addressee or addresses. You > are hereby notified that any dissemination, distribution or copy of this > communication is prohibited without the prior written consent of Musgrave. > If you have received this communication in error, please, notify the sender > by reply e-mail. > > > > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.
Re: Problema en llamada a procedimiento almacenado
Javier como estas? En mi experiencia siempre llamo a los Stored y Function incluyendo la biblioteca en donde estén creados. Creo que alguna vez use SET PATH=biblioteca1,biblioteca2, etc pero no tuve exito. Espero estas lineas te sirvan de ayuda. Saludos Nicolas. El jue., 4 abr. 2019 a las 13:47, Javier Mora () escribió: > Hola a tod@s, > > > > tengo un problema con un procedimiento almacenado, si en la llamada CALL > no le pongo el nombre del esquema, me devuelve el error > > > > CALL PROCEDIMIENTO_X(); > > > > SQL0204 – PROCECIMIENTO_X en BIBDAT de tipo *N no encontrado. > > SQL State: 42704 > > Error Code: -204 > > > > Sin embargo, con > > > > CALL ESQUEMA_DATOS.PROCEDIMIENTO_X(); > > > > Sí que funciona. > > > > La única diferencia que veo con otros procedimientos almacenados que > utilizo es que el nombre de biblioteca y esquema SQL es que ahora no > coinciden. En otras llamadas, siempre ha coincidido que el nombre del > esquema era el nombre de la biblioteca. > > > > Aún forzando el esquema actual: > > > > SET SCHEMA ESQUEMA_DATOS; > > > > Sigue sin funcionar. > > > > Tengo la sensación que la llamada sin calificar está buscando un nombre de > programa en la biblioteca, pero al ser de más de 10 letras no lo encuentra. > > > > ¿Os habéis encontrado con una situación parecida? ¿Cómo lo habéis > resuelto? No se me ocurre cómo solucionarlo y no quisiera indicar en todos > los CALLs el nombre del esquema. > > > > Además, un SELECT sin calificar las tablas con el esquema, las encuentra > correctamente. > > > > Saludos y gracias a todos por vuestros comentarios. > > > > Javier Mora > > > > > > *Javier Mora* > > Departamento de Informática > > E-mail: mailto:jm...@musgrave.es > Web: http://www.musgrave.es > > *MUSGRAVE ESPAÑA S.A.U.* > Crta. Casa del León, Km. 2 > 03293 - ELCHE - ALICANTE (SPAIN) > Tlfo: +34 96 665 73 00 Fax: +34 96 665 73 14 > > *P* *Antes de imprimir este e-mail piense si realmente es necesario > hacerlo, el medio ambiente se lo agradecerá.* > > Este correo electrónico y cualquier fichero adjunto al mismo contienen > información de carácter confidencial exclusivamente dirigida a su > destinatario o destinatarios. Queda prohibida su divulgación, copia o > distribución a terceros sin la previa autorización escrita de Musgrave. En > el caso de haber recibido este correo electrónico por error, se ruega > notificar inmediatamente esta circunstancia mediante reenvío a la dirección > electrónica del remitente. > > The information in this e-mail and in any attachments is confidential and > solely for the attention and use of the named addressee or addresses. You > are hereby notified that any dissemination, distribution or copy of this > communication is prohibited without the prior written consent of Musgrave. > If you have received this communication in error, please, notify the sender > by reply e-mail. > > > > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L. Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.