[Réponse] Lancer une procédure PL/SQL à partir d'un shell Unix

Lancer une procédure PL/SQL à partir d'un shell Unix [Réponse] - Programmation

Marsh Posté le 17-04-2002 à 11:08:32    

Pour dpmy : je préfère répondre ici pour que cela profite à d'autres. Si tu as besoin de précision => MP ou mail.
 
Problème : lancer une procédure PL/SQL à partir d'un shell.
 
Voici ma solution : contenu d'un shell lançant un fichier .sql
 

Citation :


export ORACLE_SID=Nom_instance base
export PATH=$PATH:/usr/local/bin
export ORAENV_ASK=NO
. oraenv
 
### ----- IMPORT DES DONNEES -----
sqlplus user/password @/home/user/sql/nom_fichier.sql
 
exit;


 
Explications complémentaires :
En fait le script lance un fichier du type .sql dans lequel se trouvera l'appel à la procédure stockée (comme dans n'importe quel script Oracle).

Reply

Marsh Posté le 17-04-2002 à 11:08:32   

Reply

Marsh Posté le 17-04-2002 à 11:31:44    

MERCI !   :pt1cable:

Reply

Marsh Posté le 17-04-2002 à 13:16:00    

irulan >>>  :jap:  
 
C'est comme ca que je vois un forum. Mettre à disposition de tous les réponses et pas, comme certains ici, poser une question puis partir en disant :" c'est bon j'ai trouvé"
 
 :hello:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-04-2002 à 13:21:17    

DarkLord a écrit a écrit :

irulan >>>  :jap:  
 
C'est comme ca que je vois un forum. Mettre à disposition de tous les réponses et pas, comme certains ici, poser une question puis partir en disant :" c'est bon j'ai trouvé"
 
 :hello:  




 
 
Oh mais pardon monsieur ! Je ne pensais pas que mes questions idiotes en intéresseraient d'autres !!   :spookie:

Reply

Marsh Posté le 17-04-2002 à 13:22:40    

en attendant tu viens de poster un msg en disant a peu pres "g trouvé comme une grande"... sans dire koi. bouuuh mechante :na:

Reply

Marsh Posté le 17-04-2002 à 13:24:55    

Goueg a écrit a écrit :

en attendant tu viens de poster un msg en disant a peu pres "g trouvé comme une grande"... sans dire koi. bouuuh mechante :na:  




 
J'ai trouvé comme une grande la réponse à la question qu'a posé Farid, si tu lisais la topic en entier !  :ange:  
Mais comme le pb n'avait pas lieu d'être c'est pour cela que je ne m'étends pas là-dessus !  :(

Reply

Marsh Posté le 17-04-2002 à 13:29:34    

dpmy a écrit a écrit :

 
 
J'ai trouvé comme une grande la réponse à la question qu'a posé Farid, si tu lisais la topic en entier !  :ange:  
Mais comme le pb n'avait pas lieu d'être c'est pour cela que je ne m'étends pas là-dessus !  :(  




 
bah ca change rien tu fais pas profiter les forumeurs des soluces a vos pb ;)
et pi avant de degainer les topics, consultez-vous fafe et toi... vous zetes a coté nan? :D

Reply

Marsh Posté le 17-04-2002 à 13:34:41    

Mais j'ai quand même donner les solutions à tous les pbs au final non : ftp, dbms_job... !?  :(  
Et puis si j'avais demandé irulan de m'envoyer la reponse par mail, c'était pr des pb de clartés parce que je connaissais pas la longueur du script et pour eviter q des smileys s'immiscent ds les commandes...
 
Qd à Farid et moi, à l'origine il postait les questions sur commentcamarche donc...

Reply

Marsh Posté le 17-04-2002 à 13:36:46    

bon c embroillant ce bordel, laisse tomber :)
par contre pour les smileys c facile: qd tu rediges un msg, tu "checke" Désactiver les smilies, comme je le fais là :hello: :)

Reply

Marsh Posté le 17-04-2002 à 13:37:17    

... comme j'ai oublié de le faire là :sweat: ayé c fait

Reply

Marsh Posté le 17-04-2002 à 13:37:17   

Reply

Marsh Posté le 17-04-2002 à 13:38:33    

ok thank iou  :hap:

Reply

Marsh Posté le 17-04-2002 à 13:40:09    

:D ;) :) cai supaire ca j'avai jamais essayer  :gun:

Reply

Marsh Posté le 17-04-2002 à 13:42:50    

mr_mat a écrit a écrit :

:D ;) :) cai supaire ca j'avai jamais essayer  :gun:  




 
j'ai ce don extraordinaire de savoir ouvrir les yeux :lol:

Reply

Marsh Posté le 17-04-2002 à 13:49:47    

Juste une questions...
 
 
    ... vous travaillez vraiment ???  :ange:

Reply

Marsh Posté le 17-04-2002 à 13:52:15    

dpmy a écrit a écrit :

Juste une questions...
 
 
    ... vous travaillez vraiment ???  :ange:  




 
parle pour toi :sarcastic:

Reply

Marsh Posté le 17-04-2002 à 13:54:58    

dpmy a écrit a écrit :

Juste une questions...
 
 
    ... vous travaillez vraiment ???  :ange:  




 
bah si tu es en stage tu dois pas vraiment te poser la question ... Quoi que je me souviens du mien. Les horaires étaient cool mais la densité de travail bcp plus importante que maintenant ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-04-2002 à 13:55:21    

effectivement en ce moment, je n'ai pas grand chose a faire car le medecin avec qui on doit définir le cahier des charges ne revient que lundi...  :)

Reply

Marsh Posté le 17-04-2002 à 14:12:36    

dpmy a écrit a écrit :

Juste une questions...
 
 
    ... vous travaillez vraiment ???  :ange:  



joker :D :D

Reply

Marsh Posté le 17-04-2002 à 14:23:26    

CAI PAS FINI DE POURRIR MON BÔ TOPIC DE REPONSE !
 
  :bounce:

Reply

Marsh Posté le 17-04-2002 à 14:27:40    

:lol:  :lol:  :lol:

Reply

Marsh Posté le 17-04-2002 à 14:30:34    

Ben oui, c'est vrai quoi, on poste une réponse (donc sans question, hein, une vraie, qui n'appelle pas de réaction en théorie), et on revient 1 heure après => 17 réponses  :ouch:  
 
 :pt1cable:  :D

Reply

Marsh Posté le 17-04-2002 à 14:44:04    

ca évite le bide

Reply

Marsh Posté le 17-04-2002 à 16:13:35    

DONC POUR REPRENDRE CE SI BEAU TOPIC !!
 
J'ai maintenant un autre pb.  
Lorsque je lance le shell (sqlplus user ....et tout et tout), au lieu de me connecter directement, il va me demander d'entrer le user !!
 
En gros, c'est le même pb que lorsque je voulais me connecter au ftp (tu n'as peut-être pas suivi aussi...)et qu'il me demandait d'entrer le mot de passe alors que j'avais tout mis en paramètre...
 
... que faire ?

Reply

Marsh Posté le 17-04-2002 à 16:17:19    

une recherche google? :D

Reply

Marsh Posté le 17-04-2002 à 16:18:04    

quelle bande de bananes vous autres c'est pas vrai :D
 
 :lol:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 17-04-2002 à 16:22:27    

dpmy a écrit a écrit :

DONC POUR REPRENDRE CE SI BEAU TOPIC !!
 
J'ai maintenant un autre pb.  
Lorsque je lance le shell (sqlplus user ....et tout et tout), au lieu de me connecter directement, il va me demander d'entrer le user !!
 
En gros, c'est le même pb que lorsque je voulais me connecter au ftp (tu n'as peut-être pas suivi aussi...)et qu'il me demandait d'entrer le mot de passe alors que j'avais tout mis en paramètre...
 
... que faire ?  




 
:cry: pas ENCORE !!!

Reply

Marsh Posté le 17-04-2002 à 16:23:05    

dpmy > ... que faire ?  
 
:cry:  :cry:
 
Egorger un poulet ce soir à minuit ?

 

[jfdsdjhfuetppo]--Message édité par irulan--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-04-2002 à 16:43:10    

Je précise juste que j'ai bien mis oraenv_ask=no !!!  :wahoo:

Reply

Marsh Posté le 17-04-2002 à 16:53:36    

Plutôt que de tester tout en même temps, décompose tes tests de script :
 
1- test script shell pour voir si un bête affichage de message fonctionne (genre echo 'Test';). Si ok tu passes à l'étape suivante.
 
2- Test script sql seul (en gros tu lances ton script .sql directement à partir de la ligne de commande). Si ok tu passes à l'étape suivante.
 
3- Test script shell avec appel sqlplus.
 
etc, etc.
Ainsi même si à la fin ça ne marche pas, tu sauras au moins où le problème se situe exactement. Il faut que tu essaies un peu de voir de ton côté, parce que là on ne peut pas dire grand chose  :(

 

[jfdsdjhfuetppo]--Message édité par irulan--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-04-2002 à 17:11:03    

Une fois pour toute...
 
 
   JE CHERCHE AUSSI DE MON COTE !!!!!!!!  
 
 
Alors effectivement, je dégaine un peu rapidement mes questions (une habitude que je vais vite perdre ne vous inquiétez pas) mais je cherche aussi de mon côté !!!!!!

Reply

Marsh Posté le 17-04-2002 à 17:31:09    

dpmy > JE CHERCHE AUSSI DE MON COTE !!!!!!!!
Bon ok ok, mais en complément à mes remarques : donnes également les résultats de tes tests !
Parce que là tu dis que ça ne marche pas, mais c'est vachement général...  
 
Tandis que si tu nous dis que lorsque tu lances un script tout bête c'est bon, mais que c'est lorsque tu fais appel à sqlplus que ça plante, ça orientera les réponses.
 
Bon courage quand même  :hello:

 

[jfdsdjhfuetppo]--Message édité par irulan--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 17-04-2002 à 18:42:26    

A l'heure d'aujourd'hui :
 
##test.sh
oraenv_ask=no
 
sqlplus login/mot_passe @/chemin_fichier/envoi_proc.sh
 
##envoi_proc.sh
exec procedure
exit;
 
 
--> sh test.sh : ca marche
--> si je passe par un cron qui lance test.sh : "sqlplus : command not found"
 
Je n'écris pas ça pour vous demander comment cela se fait mais juste pour vous dire que le pricipal marche.  :)  
 
Bonne soirée à tous et merci encore !  :jap:

Reply

Marsh Posté le 17-04-2002 à 22:21:14    

Aah ben voilà : à mon avis il y a un problème d'utilisateur.
 
Le cron est peut-être lancé par un utilisateur qui n'a pas dans son path le chemin vers sqlplus. D'où le message d'erreur comme quoi il ne comprend pas la commande sqlplus.
 
Essaies soit de réutiliser dans le script la ligne
export PATH=$PATH:/usr/local/bin  
-> je pense que cette ligne permet d'être sûr que, quelque soit l'utilisateur qui le lance, il aura bien accès à Oracle. A adapter peut-être selon le répertoire où se trouve sqlplus.
 
soit de vérifier le user Unix qui lance le cron, et vérifier qu'il a bien accès à sqlplus.

 

[jfdsdjhfuetppo]--Message édité par irulan--[/jfdsdjhfuetppo]

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed