Page 1 sur 1

Erreur SQL0443 - Erreur syst�me SQL - xdbdecompxml

Posté : lun. 06 janv. 2020, 12:08:24
par Jean-Marie
Bonjour,

J'obtiens une erreur lors de l'intégration d'un fichier xml de 350 Mo environ en passant par xdbdecompxml :

Code : Tout sélectionner

Decomposition  = 'CALL SYSPROC.XDBDECOMPXML( ' + W_Quote + %TRIM(BibSchema) + W_Quote + ', ' + W_Quote + %TRIM(InFlux.Schema) + W_Quote;
  Decomposition += ', GET_XML_FILE(' + W_Quote + %TRIM(InFlux.Chemin) + W_Quote + '), 0)'; // 0 = Sans validation par schema (déjà fait dans "Creer_XML_FLUX")
de même en passant par un cast BLOB 2G du GETXMLFILE :

Code : Tout sélectionner

 Decomposition  = 'CALL SYSPROC.XDBDECOMPXML( ' + W_Quote + %TRIM(BibSchema) + W_Quote + ', ' + W_Quote + %TRIM(InFlux.Schema) + W_Quote;
  Decomposition += ', CAST(GET_XML_FILE(' + W_Quote + %TRIM(InFlux.Chemin) + W_Quote + ') AS BLOB(2G)), 0)'; // 0 = Sans validation par schema (déjà fait dans "Creer_XML_FLUX")  
Erreur :

SQL0443

Un programme de déclenchement, une procédure externe ou une fonction externe a détecté et signalé une erreur à SQL.Si l'erreur s'est produite dans un programme de déclenchement, le déclencheur est dans la table QSQSSUDF du schéma QSYS. Si l'erreur s'est produite dans une procédure ou une fonction externe, le nom externe est QSQSSUDF dans le schéma QSYS.Le texte associé est Erreur système SQL... Si l'erreur s'est produite dans un programme de déclenchement, le texte associé correspond au type de celui-ci. ....

Si je découpe mon fichier en deux fichiers, l'erreur ne se produit pas.

Est-ce qu'il y a une information à mettre dans le schema xsd de décomposition concernant la taille du fichier ? :roll:


Version OS: V7R2.

taille maxi

Posté : lun. 06 janv. 2020, 13:48:29
par cmasse
pas de paramètre à ma connaissance.

la doc dit
An input parameter of type BLOB(2G) that points to the XML
donc vous êtes dans la limite indiquée.

Voyez le point service, sinon ...

(sans sujet)

Posté : lun. 06 janv. 2020, 14:08:03
par Jean-Marie
Erf, Merci pour votre réponse ! Je continue de chercher :)