Archives par mot-clé : -246

CODE RETOUR -246

STATEMENT USING CURSOR cursor-name SPECIFIED NUMBER OF ROWS num-rows WHICH IS NOT VALID WITH dimension

Explication :
Une instruction FETCH, MERGE ou INSERT à plusieurs lignes n’est pas valide dans ce contexte. La déclaration est invalide pour l’une des raisons suivantes :

  • Le nombre de lignes spécifié n’est pas supérieur à 0 ni inférieur ou égal à 32767.
  • Le nombre de lignes spécifié est supérieur à la dimension du tableau de variable hôte.
  • Si l’instruction est une instruction FETCH à plusieurs lignes exécutée dans un environnement distribué ou sur un accélérateur, la taille maximale calculée des données de réponse dépasse la limite Db2. La taille maximale calculée des données de réponse est le produit du nombre de lignes et de la taille maximale des données renvoyées dans une seule ligne de la requête.

cursor-name
Si l’instruction SQL est une instruction FETCH, cette valeur est le nom du curseur qui a été utilisé pour l’instruction FETCH. Si l’instruction SQL n’est pas une instruction FETCH, cette valeur est la chaîne *N. *N indique que le nom du curseur n’est pas applicable.

num-rows
Le nombre de lignes qui ont été spécifiées.

dimension
Si l’instruction n’est pas une instruction FETCH à plusieurs lignes exécutée dans un environnement distribué et qu’il ne s’agit pas d’une instruction FETCH à plusieurs lignes exécutée sur un accélérateur, cette valeur correspond à la dimension du tableau.
Si l’instruction est une instruction FETCH à plusieurs lignes exécutée dans un environnement distribué ou une instruction FETCH à plusieurs lignes exécutée sur un accélérateur, cette valeur est la chaîne *N. *N indique que la dimension n’est pas applicable.

Action du système :
L’instruction ne peut pas être traitée. La position du curseur est inchangée.

Réponse du programmeur :
Effectuez l’une des actions suivantes :

  • Modifiez l’application pour déclarer ou allouer un tableau de variables hôte suffisamment grand pour contenir le nombre de lignes spécifié.
  • Modifiez le nombre de lignes spécifié entre 1 et 32767 inclus.
  • Si l’instruction est une instruction FETCH à plusieurs lignes exécutée dans un environnement distribué ou sur un accélérateur, réduisez le nombre de lignes spécifié.

ETATSQL :
42873