Hola Álex, gracias por tu interés. Tengo claro como manejar CLOBs en un RPG, tanto guardar como recuperar el dato.
Ahora necesito pasar en un procedimiento almacenado un JSON por parámetro para luego analizarlo. No sé cuánto de grande será. Probé a definir el parámetro de varias formas según me parecía. Pero no funcionaba, o no compilaba o se ejecutaba con errores el programa. He rascado un poco más en Google y he probado algunas ideas que parecen que funcionan. Pero creo que me has dado una pista, que es especificar el ccsid en el parámetro, que no lo estaba haciendo. Estoy probando. A ver si consigo algo decente. Gracias de nuevo Javier Mora El lun, 25 mar 2024, 20:42, Alex Martínez <ajut...@gmail.com> escribió: > Hola > > Con la información que facilitas no estoy seguro de si he entendido tu > problema pero vamos a intentar > > No se como de "muy grande" será el archivo JSON pero el límite > es 16.773.100 es la única referencia que he encontrado por el momento > > > https://www.ibm.com/docs/en/i/7.4?topic=dlhviiratus-lob-host-variables-in-ile-rpg-applications-that-use-sql > > Un campo de CBLOB en un programa sql-rpgle lo redefine como una DS con dos > subcampos (el primero con la longitud y otro el valor) > > Es decir una declaración > > DCL-S CAMPOC SQLTYPE(CLOB:16000000); > > el precompilador del SQL lo verás "redefinido" como > > DCL-DS CAMPOC; > CAMPOC_LEN UNS(10); > CAMPOC_DATA CHAR(16000000) > END-DS CAMPOC; > > Como no es posible definir como entrada de parámetros de un programa una > estructura de datos ni un SQLTYPE(CLOB:16000000) > la alternativa es definir, por ejemplo (4 bytes adicionales) > > dcl-pi *n; > pClob char(16000004) ccsid(*utf8); > END-PI; > > y con un simple campoc = pClob ya tienes el documento > > Saludos > > > > > > > > El lun, 25 mar 2024 a las 10:55, datil400 (<datil...@gmail.com>) escribió: > >> Hola a tod@s, >> >> estoy intentando pasar un CLOB (JSON muy grande) como parámetro a un >> procedimiento almacenado escrito en ILE RPG. >> >> No tengo mucha experiencia con este tipo de dato pero lo he trabajado >> desde RPG para recuperar/guardar información en este tipo de columna. >> >> El caso es que estoy revisando todos los manuales/artículos SQL que he >> encontrado (reference, programming, embeded, etc.) y no encuentro una >> explicación/ejemplo que me ayude a manejar este tipo de datos pasado por >> parámetro a RPG. >> >> ¿Tenéis alguna experiencia? ¿Algún artículo, documento o manual que hable >> de este caso concreto? >> >> Un saludo y gracias por vuestros comentarios. >> >> Javier Mora >> ____________________________________________________ >> Ú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.
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.