Je crée ce sujet car je voudais exécuter une procédure stockée à partir d un script dos. L'objectif étant de lui envoyer des paramétre et de gérer les codes retour.

Le code de mon .bat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
 
rem V_con_load.bat
rem lancement de la procédure V-Con load
rem %1 = date de chargement
rem %2 = mode de chargement
rem %3 = debuggage
rem %4 = valeur de retour
 
set OraUser=login
set UserPwd=pwd
set ORACLE_SID=instance
 
set INC_DATE=%1
set MODE_CHARG=%2 
set DEBUG_MODE=%3 
set CODE_RETOUR=%4 
 
 
 
sqlplus /NOLOG @V_con_load.sql %INC_DATE% %MODE_CHARG% %DEBUG_MODE% %CODE_RETOUR% %OraUser% %UserPwd% %ORACLE_SID%
Le code du fichier sql (je teste avec des spool mais c'est pas terrible)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
connect &5/&6@&7
spool temp.log
set serveroutput on
DECLARE
  CODE_RETOUR NUMBER;
BEGIN
  CAP_LOAD('&1', '&2' , &3, CODE_RETOUR);
  DBMS_OUTPUT.PUT_LINE('CODE_RETOUR : ' || CODE_RETOUR);
END;
/
set serveroutput off
spool off
quit
Si quelqun à déjà réussit a récuperer une varible pl dans une variable dos , ça m intéresse. J'ai chercher à le faire avec la commande host mais aucun résultat.