|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Bonjour à tous,
Auriez-vous des exemples de shell unix où sont appelés des proc et fonctions stockées oracle. Avec renseignement des paramètres en entrée, récupération des paramètres en sortie ... Tout cela se passe sous Oracle 9i, unix AIX. Merci d'avance. Cordialement. |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
je pense qu'il existe beaucoup d'exemples sur ce site
admettons que tu veux utiliser la fonction Y=LN(X) Code :
|
||
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
bien sûr tu peux remplacer stdin par un script!
|
|
00
|
|
|
#4 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Citation:
Question subsidiaire à l'exemple donné : si $X est un paramètre en sortie (ou en entrée/sortie), ça pourrait éventuellement fonctionner ? |
|
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
|
|
00
|
|
|
#6 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Citation:
Et ma question subsidiaire svp ? |
|
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
quelque chose du style
Code :
|
||
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Merci beaucoup !
|
|
|
00
|
|
|
#9 | |||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Citation:
Je me suis enflammé un peu vite, mon cas est un tout petit peu plus compliqué, j'appelle une fonction stockée oracle qui return un code retour et qui a également un paramètre en sortie (out). Comment faire pour récupérer ces 2 paramètres ? Une solution consiste dans le EOF à faire un print des 2 paramètres, et après le EOF spliter la chaine de caractères récupérée pour avoir les 2 paramètres. Y a-t-il une autre solution plus sioux ? Par ailleurs dans le script ci dessus il y a : exec :n := $X Mais il est impossible de faire le contraire : exec X := n car a cet endroit du script X n'est pas connu d'oracle. Y a-t-il un moyen de contourner ce pb ? Cordialement. |
|||
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
c'est exactement ce que fait mon exemple, à la fin il fait un PRINT N ce qui informe la variable Unix X (car X=sqlplus...)
|
|
00
|
|
|
#11 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
Code :
|
||
|
00
|
|
|
#12 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
oui mais il y a 2 paramètres en sortie, et il s'agit d'une fct, voila ce que j'ai fait :
Code :
|
||
|
|
00
|
|
|
#13 | ||
|
Membre éclairé
![]() ![]() |
quelqu'un pourrait il m'expliquer ce que fait chaque ligne svp ?
je ne comprends notament pas: Code :
|
||
|
|
00
|
|
|
#14 | |||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Citation:
set head off feedb off : supprime les commentaires parasites au lancement de sqlplus. exec begin :codRet := PACKAGE.TEST2($X, :nt); end; : appel d'une fonction stockée oracle, comme c'est une fct le résultat doit être stocké dans une var. (codRet). les ':' devant une variable : var. résultat. |
|||
|
|
00
|
|
|
#15 | |||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
Citation:
Code :
Update: le read est écrit en miniscule, faut pas se fier à la formatisation du code dans ce forum |
|||
|
00
|
|
|
#16 | |
|
Membre éclairé
![]() ![]() |
Citation:
|
|
|
|
00
|
|
|
#17 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Merci laurent, ça marche très bien !
Et pour Jadey ce serait plutot des variables bindées oracle ? je n'en sais pas plus ! |
|
|
00
|
|
|
#18 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
euh excusez moi de revenir vers vous, mais j'ai à nouveau un soucis, j'ai rajouté un 3ème paramètre en sortie, et soit le read unix ne fonctionne pas soit le select from dual oracle ne ramène que 2 paramètres sur les 3.
Qu'est-ce qui cloche ? |
|
|
00
|
|
|
#19 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 133 ![]() |
Code :
cr, nt, per paramètres sortie Comment le récupérer ? Cordialement |
||
|
|
00
|
|
|
#20 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
set head off feedb off lin 30000 trims on
|
|
00
|
Copyright © 2000-2012 - www.developpez.com