Rechercher : dans
Par :

Problème de code retour SQL

Dernière réponse le 10 fév 2009 à 22:09:07 ppe52, le 20 oct 2008 à 16:02:18 
 Signaler ce message aux modérateurs

Bonjour,
Je travaille sur grand sytème IBM, je viens de compile un programme DB2, la compile s'est bien passée, le bind également, lorsque je teste, je récupère un code retour "-514' (je ne trouve pas ce code dans la doc, il doit s'agir d'un code système). Y a-t-il parmi vous quelqu'un qui pourrait m'aiderà comprendre ce problème, sachant que la modification effectuée consiste à passer une table interne de 250 postes à 500. Je suis preneur pour toute explication et le cas échéant de correction.

Merci d'avance pour votre aide.

ppe52

Meilleures réponses pour « Problème de code retour SQL » dans :
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
[Shell] Tester une variable numérique VoirTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à...
Le remplacement de variables en shell Bash VoirLe remplacement de variables Introduction Il peut s'avérer utile de s'assurer qu'une variable est bien définie avant de procéder à son remplacement, ou tout simplement de s'assurer que celle-ci n'est pas vide, et dans ce cas de l'initialiser avec...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...
Code ASCII VoirLe codage des informations Le morse a été le premier codage à permettre une communication longue distance. C'est Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est composé de points et de tirets (un codage binaire en quelque sorte...). Il...
Attaques par injection de commandes SQL VoirInjection de commandes SQL Les attaques par injection de commandes SQL sont des attaques visant les sites web s'appuyant sur des bases de données relationnelles. Dans ce type de sites, des paramètres sont passés à la base de données sous forme...

1

cchristian, le 20 oct 2008 à 16:49:28

Bonjour,

Apparemment tu as un problème de curseur !
Regarde la logique qui borne la boucle de lectures de ta table (cas 2 ci-dessous peut-être ?)

-514
Reason: THE CURSOR cursor-name IS NOT IN A PREPARED STATE

Description: The application program has tried to use a cursor, 'cursor-name,' that is not in a prepared state. The cursor is associated with a statement that either (1) has never been prepared, or (2) has been invalidated by a COMMIT or ROLLBACK (or the IMS/VS or CICS equivalent).

User Response : For case (1), ensure that you prepare the statement that is named in the DECLARE CURSOR statement for 'cursor-name' before you try to open the cursor. For case (2), either do not issue COMMIT or ROLLBACK until after you are finished using the cursor, or prepare the statement again after the COMMIT or ROLLBACK.


P.S. En clair (brochure IBM)

SQL0514N
Le curseur nom n'est pas préparé.

Explication
Le programme d'application a essayé d'utiliser un curseur nom qui n'a pas été préparé (par PREPARE). Le curseur est associé à une instruction qui (1) soit n'a encore jamais été préparée, (2) soit n'est plus correcte suite à une instruction ROLLBACK, (3) soit a été annulée suite à une redéfinition d'accès (REBIND) explicite ou implicite du module.

L'instruction ne peut pas être traitée.

Action de l'utilisateur
Dans le cas (1), préparez l'instruction désignée dans l'instruction DECLARE CURSOR pour nom avant toute tentative d'ouverture du curseur. Dans le cas (2), n'émettez pas de ROLLBACK tant que vous n'avez pas terminé d'utiliser le curseur. Dans le cas (3), relancez la commande PREPARE pour le curseur.

sqlcode : -514

sqlstate : 26501

Cordialement.

Cchristian.

Répondre à cchristian

2

ppe52, le 1 fév 2009 à 22:00:47

Bonsoir, à cchristian, merci pour votre réponse et je suis désolé de répondre si tard, mais j'ai passé une fin d'année horrible.. enfin bref, le problème venait du fait que notre environnement de test état mal défini et il utiliisait des librairies contenant des versions de load destiné à un autre environnement..... En tot cas encore merci.
ppe52

Répondre à ppe52

3

 cchristian, le 10 fév 2009 à 22:09:07

Bonsoir,

Merci pour le retour, désolé également de répondre si tard (déménagement).

A bientôt peut-être sur CCM. Cordialement.

Cchristian.

Répondre à cchristian