Comment puis-je exécuter une procédure stockée à partir d'un programme CL? RUNSQLSTM nécessite un membre source, mais je veux juste construire une commande afin que les utilisateurs puissent facilement transmettre des variables, cela ne fonctionnera donc pas.iSeries - Appelez la procédure stockée SQL à partir du programme CL
Répondre
Il peut y avoir 2 options:
Dans le programme CL créer un membre de source temporaire. Construisez l'instruction SQL avec les paramètres fournis pour exécuter la procédure stockée et écrire ce code source dans le membre temporaire. Puis ajoutez un appel à RUNSQLSTM avec le membre généré en tant que paramètre.
Une deuxième option n'est pas de créer un programme CL mais d'utiliser RPG/COBOL. En utilisant Embedded SQL, la procédure stockée peut être exécutée avec les paramètres. Leurs valeurs doivent être transmises de la commande au programme.
À un moment donné, il y avait une commande que quelqu'un écrivait que j'avais utilisée. Je ne trouve pas cette référence plus, mais j'ai deux autres options:
- This article utilise REXX
- This article utilise RPG
Ils ont tous deux inclure la source dont vous avez besoin pour obtenir la commande de travail.
Vous pouvez appeler le programme système QZDFMDB2
et lui passer un paramètre avec la chaîne SQL à exécuter. Dans ce cas, la chaîne SQL est l'appel à votre procédure stockée:
CALL PGM(QZDFMDB2) PARM('CALL PROCEDURE (''XYZ'', ''ABC'')')
Pour remplacer vos valeurs utilisent une variable pour le PARM:
DCL VAR(&CALL) TYPE(*CHAR) LEN(200)
CHGVAR VAR(&CALL)
VALUE('CALL PROCEDURE (''' *CAT &PARM1 *TCAT ''', ''' *CAT &PARM2 *TCAT ''')')
CALL PGM(QZDFMDB2) PARM(&CALL)
Pour indiquer l'emplacement ou la bibliothèque de la procédure, voici un exemple: 'CALL PGM (QZDFMDB2) PARM ('CALL LIBRARY.PROCEDURE (' 'XYZ' ',' 'ABC' ')')' –
QCMDEXC
pourrait être la commande que vous recherchez.
- 1. Comment appelez-vous un programme java à partir d'un COBOL sur iSeries V5R4
- 2. Accès à Sql FILESTREAM à partir d'une procédure stockée CLR
- 3. Comment appelez-vous une procédure stockée dans SSIS?
- 4. Procédure iSeries SQL - Vérifier s'il existe déjà
- 5. Exécution du package SQL Server SSIS à partir de la procédure stockée
- 6. Marquage du nom de la procédure stockée
- 7. Erreur de contrôle d'engagement sur l'appel de procédure iSeries
- 8. Appelez la commande mysql SOURCE à partir d'un programme C
- 9. SQL Server - SELECT de la procédure stockée
- 10. SQL Tout en ralentissant la procédure stockée
- 11. Travail SQL et procédure stockée
- 12. Procédure stockée SQL Server sensible à la casse?
- 13. Comment supprimer les résultats d'une procédure stockée à partir d'une procédure stockée?
- 14. MS SQL procédure stockée problème
- 15. Création d'une procédure stockée SQL Server à partir d'Access 2007 - modification du schéma
- 16. Un bon moyen d'accéder à la procédure stockée sur SQL Server 2008 à partir de C#
- 17. Passer la procédure stockée à sp_send_dbmail
- 18. Comment retourner la table à partir de la procédure stockée T-SQL
- 19. Problème appelant la procédure stockée d'une autre procédure stockée via ASP classique
- 20. Syntaxe de procédure stockée
- 21. Obtenir la procédure stockée resultset from oracle
- 22. Comment déboguer la procédure stockée sur un serveur SQL distant à partir de Visual Studio 2005
- 23. Hibernation pour l'accès à la procédure stockée
- 24. procédure stockée retourne varchar
- 25. Course à pied Oracle procédure stockée
- 26. Comment appeler la procédure stockée MySQL à partir de SQL Server 2000?
- 27. Impossible de sélectionner dba_tab_cols à partir de la procédure stockée (PL/SQL)
- 28. Comment avoir du SQL dynamique dans une procédure stockée MySQL
- 29. Insertion complexe à travers la procédure stockée
- 30. Procédure stockée spécifique aux données d'appel à partir de la procédure Oracle
Je pense que votre deuxième idée est la meilleure pour moi - merci. Ce serait bien de pouvoir appeler directement une procédure! –