CODE RETOUR -440

NO AUTHORIZED routine-type BY THE NAME routine-name HAVING COMPATIBLE ARGUMENTS WAS FOUND

Explication
Une tentative d’appel d’une routine a été effectuée, mais Db2 n’a pas pu résoudre l’appel d’une routine, y compris la liste d’arguments, en une définition de routine spécifique.

routine-type
Le type de routine, comme FUNCTION ou PROCEDURE.
routine-name or schema-name.routine-name
Le nom de la routine. Si l’instruction d’origine fait référence à un nom qualifié, le nom de la routine dans le texte du message est qualifié par le nom du schéma.

Les causes possibles de cette erreur incluent :

  • Le nom de la routine a été spécifié de manière incorrecte ou n’existe pas dans la base de données.
  • Une référence qualifiée a été utilisée et le qualificateur de schéma a été spécifié de manière incorrecte.
  • Le chemin SQL de l’utilisateur ne contient pas le schéma auquel appartient la fonction et une référence non qualifiée a été utilisée.
  • Le mauvais nombre d’arguments a été inclus.
  • Le bon nombre d’arguments a été inclus dans la référence de routine, mais le type de données d’un ou plusieurs des arguments est incorrect.
  • L’invocateur de la routine n’est pas autorisé à exécuter la routine.
  • CURRENT QUERY ACCELERATION a été défini sur NONE pendant l’exécution d’une expression intermédiaire uniquement.
  • Une application ou un objet SQL a tenté d’utiliser une fonctionnalité qui n’est pas prise en charge par le niveau de compatibilité d’application actuel.
    • Avant l’activation du niveau de fonction 500 ou supérieur, les environnements Db2 doivent utiliser les niveaux de compatibilité des applications des versions précédentes. Après l’activation du niveau de fonction 500 ou supérieur, le niveau de compatibilité des applications peut être équivalent au niveau de fonction actuel, un niveau de fonction inférieur dans la version actuelle ou un niveau de fonction d’une version précédente.

Action du système
L’instruction ne peut pas être traitée.

Réponse du programmeur
Utilisez le nom de routine identifié dans le message pour trouver l’appel et vérifiez que l’appel peut être résolu en la routine prévue, en fonction des processus de résolution de fonction et de procédure.

Pour vous assurer que la routine prévue est appelée, spécifiez un nom de routine qualifié dans la mesure du possible.
Si vous exécutez une expression intermédiaire uniquement, définissez CURRENT QUERY ACCELERATION sur ELIGIBLE, ENABLE ou ALL.

Si l’erreur peut être due à une fonctionnalité non prise en charge, vérifiez le niveau de compatibilité d’application de votre application ou objet SQL et effectuez l’une des actions suivantes :

  • Reliez l’application ou modifiez l’objet SQL pour utiliser un niveau de compatibilité d’application qui prend en charge la fonctionnalité.
  • Supprimez l’utilisation de la fonctionnalité non prise en charge de l’application ou de l’objet SQL.

SQLSTATE
42884