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 :

[AS400] Appel d'une procédure stockée


Sujet :

DB2

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 154
    Points : 110
    Points
    110
    Par défaut [AS400] Appel d'une procédure stockée
    Bonjour,

    Lorsque je fais ceci en asp :

    as400.execute "CALL PACK14REXE.IDCB050 ('')"

    Il me répond :
    SQL0469: IN, OUT ou INOUT incorrect pour le paramètre 1 de la procédure IDCB050 de PACK14REXE. Cause . . . . . : L'attribut IN, INOUT ou OUT spécifié pour le paramètre 1 de l'instruction DECLARE PROCEDURE ou CREATE PROCEDURE n'est pas admis. Le nom du paramètre est PARAM1. L'une des erreurs suivantes s'est produite : - L'attribut n'est pas compatible avec le paramètre de l'instruction CALL. Si le paramètre est déclaré INOUT ou OUT, le paramètre de l'instruction CALL doit être indiqué comme variable hôte. - L'attribut INOUT ou OUT est indiqué et REXX est spécifié comme langage. L'attribut doit être IN si REXX est mentionné. - Un paramètre d'une procédure SQL est déclaré comme OUT alors qu'il est utilisé comme entrée dans le corps d'un programme ou est déclaré comme IN alors qu'il est modifié dans le corps d'un programme. - Un paramètre d'une fonction SQL est modifié dans le corps du programme. Que faire . . . : Modifiez l'attribut du paramètre de l'instruction DECLARE PROCEDURE ou CREATE PROCEDURE, ou modifiez le paramètre. Ne modifiez pas les paramètres de la fonction SQL. Renouvelez votre demande.
    je pense avoir tout essayé pour lui passer un paramètre mais rien à faire

    Help


    Portekoi

  2. #2
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Peux-tu montrer le début de la procédure et y compris le declare.

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 154
    Points : 110
    Points
    110
    Par défaut
    Bonjour,

    Je n'ai hélas pas la source car c'est un progiciel mais je pense avoir trouvé la solution.

    Je la mettrais en ligne demain afin d'aider les autres

    Merci.


    Portekoi

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 154
    Points : 110
    Points
    110
    Par défaut
    Bon ben en faites, ca marche pas

    Une idée?

    Avez vous un script asp pour n'importe quelle procédure stockée avec un argument?

    Merci


    Portekoi

  5. #5
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    C'est quoi la signature de ta procédure stockée :

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 154
    Points : 110
    Points
    110
    Par défaut
    Héhé... euh, je sais pas du tout ^_^

    Qu'appelles tu la signature?

    Je n'ai pas la source de la procédure mais je peux voir ces propriétés via le navigtor d'IBM

    Merci

  7. #7
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    LA signature c'est le nom de la ropcédure avec les différents paramêtres et leurs types

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 154
    Points : 110
    Points
    110
    Par défaut
    Ok alors la procédure s'appelle : IDCB047 dans la Bib PACK14REXE

    Elle attend un paramètre de type char.

    En espérant que cela t'aide

  9. #9
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    As tu essayé comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    as400.Execute("PACK14REXE.IDCB050('value')", ,adCmdStoredProc)

  10. #10
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    Bonjour,

    ma question est dans la continuité de la question originelle, je voudrais savoir comment fais on sous iseries pour appeler une procedure stockée?

    J'ai créer une procédure sans paramètre d'entré, ni de paramètre de sortie donc pour l'appelée je fais :MAis maintenant j'ai créer une procédure qui attend en entrée un int et qui renvoie en sortie un INT donc comment faire pour appeler cette procédure j'ai cherché sur le net mais je n'ai pas trouvé d'exemple j'ai essayer comme ça mais ça ne fonctionne pas : mais il n'accepte pas le ? donc comment faire?

    merci d'avance

  11. #11
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Essaye en remplaçant le ? par :var

  12. #12
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    j'ai déjà essayer mais il n'accepte pas non plus les : ni dans la création de ma procédure ni dans l'acceuil de la session 5250

  13. #13
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Cela devrait pourtant être bon

    Peux-Tu nous montrer ta commande create procedure, du moins le début

  14. #14
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    en fait c'est bon dans ma procédure j'arive a passer le paramètre avec le ? mais le problème c'est comment je fais pour appeler cette procédure? car la par contre que je mette : ou ? ca ne marche pas

  15. #15
    Membre habitué Avatar de souellet
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 155
    Points : 171
    Points
    171
    Par défaut
    Salut yoyopi,
    As-tu essayé de caster ta valeur?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    as400.execute "CALL PACK14REXE.IDCB050 (cast('value' as char(10)))"

  16. #16
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    SOUELLET moi je ne passe pas une programme extérieur donc le as400.execute ne s'applique pas dans mon cas par contre je ne comprends pas trop comment fonctionne le cast car laest créer fonction que je dois appeler est créer comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CREATE PROCEDURE QGPL/nomen (IN num_article varchar(15), OUT ok integer)
    et dans ma procedure appelante je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CALL QSYS/QCMDEXC (‘CALL QGPL/nomen(v_num_art, ?ok)) ;
    et ma variable ok est déclaré et est de type INTEGER

  17. #17
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    Aujourd'hui j'ai réussi à appeler une procédure à partir d'une autre procédure mais qui ne prends aucun paramètre ni en entrée ni en sortie.:trouve: !!

    Mais maintenant je voudrais savoir comment on fait dans l'écran d'accueil en mode 5250 de l'as/400 pour appeler une procédure stockée qui a un paramètre d'entrée de type varchar(15)(c'est pour l'exemple qui suit)?

    J'ai essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     CALL MABIB/MAPROCEDURE('test') résultat erreur
    CALL MABIB/MAPROC ((cast('test' as varchar)))  résultat : Valeur CAST incorrecte pour le paramètre PARM.
    CALL PGM(MAPROC) PARM('test') résultat: erreur non gérer par la procédure.
    Par contre quand je fais ce code là: CALL PGM(YOANTEST) PARM('testyo') en étant sous strsql ca fonctionne
    Donc comment on fait?

    Merci d'avance

  18. #18
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut

  19. #19
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    s'il vous plait aider moi

  20. #20
    Membre habitué
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Points : 154
    Points
    154
    Par défaut
    S'il vous plait
    Je vous implore aux maîtres de DB2 !!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [c#] Appel d'une procédure stockée Record
    Par lapartdombre dans le forum Accès aux données
    Réponses: 4
    Dernier message: 02/08/2007, 17h20
  2. Appel d'une procédure stockée
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/04/2006, 08h54
  3. Appel d'une procédure stockée sous VB 6
    Par Polux000 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/01/2006, 09h21
  4. Réponses: 2
    Dernier message: 10/12/2004, 15h43
  5. Appel d'une procédure stockée par un vbscript
    Par NicoNours dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/10/2004, 13h53

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