Archives par mot-clé : -992

CODE RETOUR -992

PACKAGE package-name CANNOT BE EXECUTED OR DEPLOYED ON LOCATION location-name

Explication du code retour -992 :
Une non-concordance dans les niveaux de code Db2 empêche l’exécution ou le déploiement du package.

package-name
Le nom du paquet.

location-name
Le système Db2 sur lequel le déploiement ou l’exécution a été tenté.

L’une des conditions suivantes s’est produite :

  • Le package ne peut pas être exécuté ou déployé en raison d’une non-concordance au niveau du code Db2 entre le système identifié par location-name  et le serveur actuel. Le serveur actuel et le système identifié par location-name  peuvent être le même système.
  • La représentation d’une routine SQL ne peut pas être exécutée sur le système. Le package a été lié à une version ou à un niveau de maintenance différent de celui que le système peut prendre en charge.

Le déploiement est le processus d’établissement d’une routine SQL à un emplacement distant sans régénérer la représentation de cette routine. Le déploiement nécessite que le serveur distant soit capable de comprendre les structures générées par le serveur actuel pour le package identifié. La différence de niveau de code entre le serveur actuel et l’emplacement distant rend cela impossible. La différence peut être dans les niveaux de version ou les niveaux de maintenance, mais elle est suffisamment importante pour que le package ne puisse pas être déployé du serveur actuel vers l’emplacement distant.

Cette condition peut être spécifique à ce package particulier. D’autres packages peuvent être exécutés avec succès sur ce système ou déployés à partir du serveur actuel vers l’emplacement distant.

Action du système :
La déclaration ne peut pas être traitée.

Réponse du programmeur :
Si cette condition se produit lors du déploiement d’une routine SQL, réessayez après la mise à jour de Db2 à location-name vers la version ou le niveau de maintenance pouvant prendre en charge le package en cours de déploiement.

Si cette condition se produit dans des contextes autres que le déploiement (par exemple, un package qui a été créé avant l’application d’une PTF n’est plus pris en charge par le niveau de Db2 après l’application de cette PTF), exécutez alors l’instruction ALTER PROCEDURE ou ALTER FUNCTION avec la clause REGENERATE pour cette version de la routine SQL sur le serveur actuel afin de régénérer le package à l’aide du niveau de maintenance actuel. L’instruction ALTER PROCEDURE ou ALTER FUNCTION avec la clause REGENERATE entraînera une nouvelle liaison du package sur le serveur local.

Si la routine SQL a requis la réplication du package sur différents serveurs, le processus doit être répété pour la routine SQL régénérée.

Si des variantes du package ont été créées localement avec différents ID de collection, ces packages supplémentaires doivent également être explicitement liés.

SQLSTATE :
51008