Archives par mot-clé : -495

CODE RETOUR -495

ESTIMATED PROCESSOR COST OF estimate-amount1 PROCESSOR SECONDS (estimate-amount2 SERVICE UNITS) IN COST CATEGORY cost-category EXCEEDS A RESOURCE LIMIT ERROR THRESHOLD OF limit- amount SERVICE UNITS

Explication
La préparation d’une instruction SQL INSERT, UPDATE, MERGE, DELETE ou SELECT dynamique a entraîné une estimation des coûts dépassant la valeur de seuil d’erreur spécifiée dans la table de spécification de limite de ressources (RLST). Cette erreur est également émise si la valeur de catégorie de coût Db2 était B et que l’action par défaut spécifiée dans la colonne RLF_CATEGORY_B du RLST consiste à générer une erreur.

estimate_amount1
L’estimation du coût (en secondes processeur) si l’instruction INSERT, UPDATE, MERGE, DELETE ou SELECT préparée devait être exécutée.
estimate_amount2
L’estimation des coûts (en unités de service) si l’instruction préparée INSERT, UPDATE, MERGE, DELETE ou SELECT devait être exécutée.
cost-category
La catégorie de coût Db2 pour cette instruction SQL. Les valeurs possibles sont A ou B.
limit-amount
Le seuil d’erreur (en unités de service) spécifié dans la colonne RLFASUERR du RLST. Si vous avez entré un nombre négatif pour la colonne RLFASUERR, la valeur du montant limite est par défaut zéro.

Action du système
La préparation de l’instruction dynamique INSERT, UPDATE, MERGE, DELETE ou SELECT a échoué.

Réponse de l’utilisateur
Si l’avertissement est provoqué par une instruction SQL qui consomme trop de ressources processeur, essayez de réécrire l’instruction pour qu’elle fonctionne plus efficacement. Une autre option consiste à demander à l’administrateur d’augmenter la valeur du seuil d’erreur dans le RLST.

Réponse du programmeur
Si ce SQLCODE a été renvoyé parce que la valeur de catégorie de coût est B, il se peut que l’instruction utilise des marqueurs de paramètres ou que certaines statistiques ne soient pas disponibles pour les tables et colonnes référencées. Assurez-vous que l’administrateur a exécuté l’utilitaire RUNSTATS sur les tables référencées. Il se peut également que les UDF soient invoquées lors de l’exécution de l’instruction, ou pour les instructions INSERT, UPDATE, MERGE ou DELETE que les déclencheurs sont définis sur la table modifiée. Vérifiez le DSN_STATEMNT_TABLE ou l’enregistrement IFCID 22 de cette instruction pour trouver les raisons pour lesquelles cette instruction SQL a été placée dans la catégorie de coût B. Si le programme ne peut pas être modifié, ou si les statistiques ne peuvent pas être obtenues, demandez à l’administrateur de modifier la valeur dans le RLF_CATEGORY_B colonne dans le RLST à Y qui permet à l’instruction de s’exécuter ou W qui renvoie un avertissement au lieu d’une erreur.

SQLSTATE
57051