IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

SQLCODE anormal à 100


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut SQLCODE anormal à 100
    Je travaille actuellement sur un environnement mainframe avec un base DB2.

    En utilisant l'outils de TSO "SPUFI" pour réaliser une requête SELECT ; j'obtient en résultat un enregistrement ET un Sqlcode égal à 100. Or ce code est retourné uniquement lorsque la requête c'est bien déroulée et que ce dernier n'a pas de données en retour ...

    Est-ce normal ?

    Voici le résultat de la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
                    SELECT                                                  00970036
                      TCLINFOY ,                                            00980036
                      TCLIDCREAT   ,                                        00990036
                      TCLIBINDP     ,                                       01000036
                      TCLILSIGL     ,                                       01010036
                      TCLILNOMPREN  ,                                       01020036
                      TCLILPATRONYM ,                                       01030036
                      TCLILNAIS     ,                                       01040036
                      TCLICDEPTNAIS ,                                       01050036
                      TCLIDNAIS     ,                                       01060036
                      TCLICNAT      ,                                       01070036
                      TCLICCSP      ,                                       01080036
                      TCLICANCPROF  ,                                       01090036
                      TCLIMRESS     ,                                       01100036
                      TCLINTELEMP   ,                                       01110036
                      TCLINPOSTEMP  ,                                       01120036
                      TCLICAPE      ,                                       01130036
                      TCLICFICHBDF  ,                                       01140036
                      TCLIDFICHBDF  ,                                       01150036
                      TCLINRANG     ,                                       01160036
                      TCLIDDCD      ,                                       01170036
                      TCLICFICHBDF  ,                                       01180036
                      TCLICNEIERTZ  ,                                       01190036
                      TCLIDNEIERTZ  ,                                       01200036
                      TCLICTMAL     ,                                       01210036
                      TCLICNONASS   ,                                       01220036
                      TCLIDAUDNEIERTZ ,                                     01230036
                      TADRCTYPE     ,                                       01240036
                      TADRDMOD     ,                                        01250036
                      TADRBCHAD     ,                                       01260036
                      TADRLVBEA     ,                                       01270036
                      TADRLADRE     ,                                       01280036
                      TADRLVILL     ,                                       01290036
                      TADRCPTT     ,                                        01300036
                      TADRLLOCACH     ,                                     01310036
                      TCLFCHAB1     ,                                       01320036
                      TCLFCANCHAB1    ,                                     01330036
                      TCLFCHAB2      ,                                      01340036
                      TCLFCSITFAM    ,                                      01350036
                      TCLFBENF       ,                                      01360036
                      TCLFCTITBQ     ,                                      01370036
                      TCLFDPSAD      ,                                      01380036
                      TCLFBTRSSR     ,                                      01390036
                      TCLFNTELP      ,                                      01400036
                      TCLFCBQCCP     ,                                      01410036
                      TCLFCANCBQCCP  ,                                      01420036
                      TCLFDPCTX       ,                                     01430036
                      TCLFLTELIND1    ,                                     01440036
                      TCLFNTELNO1     ,                                     01450036
                      TCLFLTELIND2    ,                                     01460036
                      TCLFNTELNO2     ,                                     01470036
                      TCLFLTELIND3    ,                                     01480036
                      TCLFNTELNO3     ,                                     01490036
                      TCLFLTELIND4    ,                                     01500036
                      TCLFNTELNO4     ,                                     01510036
                      TCLFLTELIND5    ,                                     01520036
                      TCLFNTELNO5     ,                                     01530036
                      TCLFLTELIND6    ,                                     01540036
                      TCLFNTELNO6     ,                                     01550036
                      TCLFCMOTCLESSR1 ,                                     01560036
                      TCLFDMOTCLESSR1 ,                                     01570036
                      TCLFCMOTCLESSR2 ,                                     01580036
                      TCLFDMOTCLESSR2 ,                                     01590036
                      TCLFCMOTCLESSR3 ,                                     01600036
                      TCLFDMOTCLESSR3 ,                                     01610036
                      TCLFCMOTCLESSR4 ,                                     01620036
                      TCLFDMOTCLESSR4 ,                                     01630036
                      TCLFCMOTCLESSR5 ,                                     01640036
                      TCLFDMOTCLESSR5 ,                                     01650036
                      TCLFCMOTCLESSR6 ,                                     01660036
                      TCLFDMOTCLESSR6 ,                                     01670036
                      TCLFCMOTCLESSR7 ,                                     01680036
                      TCLFDMOTCLESSR7 ,                                     01690036
                      TCLFCMOTCLESSR8 ,                                     01700036
                      TCLFDMOTCLESSR8                                       01710036
               FROM TSIN.TBCLIDE,TSIN.TBCLFOY,TSIN.TBADRES                  01720036
               WHERE TCLINFOY = 8800000138                                  01730042
                 AND TCLINFOY = TADRNFOY                                    01740036
                 AND TCLINFOY = TCLFNFOY                                    01750036
                 AND TADRCTYPE = 'FO';                                      01760038
    ***Display de l'enregistrement trop long ICI***
    DSNE610I NUMBER OF ROWS DISPLAYED IS 1
    DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100
    
    DSNE617I COMMIT PERFORMED, SQLCODE IS 0
    DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
    
    DSNE601I SQL STATEMENTS ASSUMED TO BE BETWEEN COLUMNS 1 AND 72
    DSNE620I NUMBER OF SQL STATEMENTS PROCESSED IS 1
    DSNE621I NUMBER OF INPUT RECORDS READ IS 102
    DSNE622I NUMBER OF OUTPUT RECORDS WRITTEN IS 118

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS number
    Explanation:
    This message is written to the output data set following the successful
    execution of an SQL statement from the input data set. 'number' specifies
    the SQL return code for the statement. These return codes are listed in SQL
    return codes.
    A mon avis ce message signifie juste que SPUFI a exécuté un curseur implicite et que la fin de ce dernier a été atteinte (mais ce n'est qu'une supposition ...).

    C'est bien le message suivant qui est le plus important :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DSNE610I NUMBER OF ROWS DISPLAYED IS 1
    Donc tout est normal ...

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Par défaut
    Le problème est qu'un traitement sur le SQL code est réalisé après l'exécution.

    Mais le problème est résolu.

    En effet, je penses que tu as raison. Le premier sqlcode traite le curseur (donc pas de resultat d'où = 100)

    Le second lui renvoi 0 et un enregistrement et c'est sur cet sqlcode que le traitement est réalisé !

    La valeur de selection générée dans le programme était érronée et donc ne renvoyait aucun enregistrement d'où le traitement erronée également avec le sqlcode = 100 (je croyais que la valeur était correcte et qu'il renvoyait un enregistrement !)

    Merci pour ta réponse

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Par défaut
    Citation Envoyé par Antichoc
    Le problème est qu'un traitement sur le SQL code est réalisé après l'exécution.
    Certes mais pas dans ce cas précis. Là on est sous SPUFI.

    En effet, je penses que tu as raison. Le premier sqlcode traite le curseur (donc pas de resultat d'où = 100)

    Le second lui renvoi 0 et un enregistrement et c'est sur cet sqlcode que le traitement est réalisé !
    Pour moi la requête exécutée sous SPUFI a bien renvoyé une ligne et le SQLCODE à 100 marque la fin du traitement itératif (principe du curseur).
    Le second message avec un SQLCODE à 0 porte sur l'exécution du COMMIT par SPUFI, puisque par défaut SPUFI exécute un COMMIT. Ce dernier ne sert à rien dans ce cas précis puisque qu'on a pas fait de mise à jour ici, mais bon l'outil travaille comme cela ...

    La valeur de selection générée dans le programme était érronée et donc ne renvoyait aucun enregistrement d'où le traitement erronée également avec le sqlcode = 100 (je croyais que la valeur était correcte et qu'il renvoyait un enregistrement !)
    C'est très bien de vérifier le SQLCODE dans un programme et c'est très bien d'utiliser SPUFI pour confirmer les résultats du programme ...

    Merci pour ta réponse
    Mais je t'en prie ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de disque dur 100% et lentement anormal !
    Par sohaieb dans le forum Périphériques
    Réponses: 0
    Dernier message: 27/12/2014, 15h45
  2. [Sage 100] Où trouver un driver ODBC ?
    Par Wasfi AG dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 14/03/2006, 10h49
  3. premier nombre premier superieur à m=10^100+1
    Par azman0101 dans le forum Mathématiques
    Réponses: 4
    Dernier message: 17/04/2003, 03h23
  4. Réponses: 11
    Dernier message: 17/03/2003, 10h56
  5. [PostgreSQL] Fonct. anormal de postmaster sous Cygwin
    Par moipastoi dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/03/2003, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo