Auteur de questions
Déclenchement procédure stockée AS400 depuis SQL Serveur

Discussion générale
-
Bonjour,
Ma question porte sur les procédures stockées AS400 à lancer depuis mon serveur SQL avec du code T-SQL.
J'explique: j'ai crée un serveur lié avec le provider OleDB (EasyComOLEDB ou IBMDA400) nommé AS400.
Les instructions SQL suivantes fonctionnent donc correctement :
SELECT * FROM AS400...HPRKE1P
SELECT * FROM AS400..BIB00.HPRKE1PMais maintenant je voudrais lancer un programme AS400 "EXCL7FCL" qui se trouve dans la librairie"TSTEXE"
L'instruction EXEC AS400...EXCL7FCL '123', 'abc' me retourne l'erreur suivante "Fichier {?=CALL non trouvé dans la bibliothèque *LIBL."
L'instruction EXEC AS400..TSTEXE.EXCL7FCL '123', 'abc' me retourne l'erreur suivante "Fichier {?=CALL non trouvé dans la bibliothèque *LIBL."soin
Avez vous une solution ? Sachant que le but final serait de remplacer les paramètres 123 et abc par des variables SQL car certains des paramètres AS400 sont en in/out et que j'ai besoin de récupérer les paramètres output AS400
Merci pour votre aide.
- Type modifié Aurel BeraModerator mardi 16 octobre 2012 10:07 Pas de reponse
Toutes les réponses
-
Bonjour
Essayez de utiliser Openquery d’une maniere
Select * from openquery (AS400, ‘lib execution out_param1, out_param2 ; select out_param1, out_param2’).
Cordialement,
-
Bonjour,
Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
Aurel
-
Bonjour,
Malheureusement je ne peux pas tester cette requête de suite car je suis en déplacement. Mais je ne manquerai pas de tester la manip et de vous tenir au courant.
Par rapport à votre requête, ne faudrait-il pas d'abord déclarer les paramètres par un DECLARE ? A moins que le code soit directement interprété par l'AS400 au quel cas, je ne connais pas la syntaxe pour déclarer et récupérer des paramètres (l'équivalent de SELECT out_param1).Salutations.
SITAM
-
Bonjour
C'est vrai, vous devez définir les paramètres de sortie.
Une autre solution je pense maintenant est de créer un autre programme qui seulement fait ce qu’on a écrit dans openquerry, et puis l’exécuter.
Quand-même, en attendant votre je modifie ce thread an discussion générale. Si vous avez plus de temps pour réexaminer la question et fournir plus d'informations, n'hésitez pas à modifier le type du thread à « Question ». Si le problème est résolu, s’il vous plaît partagez la solution avec nous afin que la réponse puisse être trouvée et utilisée par d'autres membres de la communauté ayant des questions similaires.
Cordialement,
-
Bonjour,
Ok.
Pouvez me préciser comment déclarer les paramètres avec un DECLARE ou une autre instruction connue de l'AS400 ? Car je pense que la query est exécutée directement sur l'AS400 et je ne pense pas que ce dernier utilise l'instruction DECLARE. Qu'en pensez-vous ?
Salutations.
SITAM
-
Bonjour
Malheureusement je ne peux pas vous aider avec la déclaration des paramètres. Peut-être essayez sur un forum de AS400.
Quand même, j’ai trouvé ces sites, avec l’exécution d’un programme sous AS400.
http://forums.asp.net/t/1817332.aspx/1
Pour exécution vous devez utiliser
CALL PGM(lib/programme) PARM(nom parametre) .
Cordialement,