Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2003, 01:29
aalamo42
 
Fecha de Ingreso: mayo-2003
Mensajes: 5
Antigüedad: 21 años, 8 meses
Puntos: 0
Invocar Un Procedimiento Almacenado Desde Un Fichero Batch

Holas,
Tengo un archivo mifichero.bat dentro que debe abrir el sqlplus y ejecutar
una procedimiento almacenado "misp" que esta dentro de un paquete
determinado "mipckg" de mi bdd y le tengo que enviar una serie de parámetros
enviados desde consola.

de este tengo lo siguiente:

--- mifichero.bat ----
rem Voy a conectarme a sqlplus... y llamando a misql.sql con sus
parámetros.....
rem
sqlplus.exe %1/%2@%3
----------------------

//haciendo así en la consola de DOS se llega a abrir el sqlplus y quedando
la ventana con el cursor
//del sqlplus activo asi..

SQL>

pero yo necesito además lanzar ese procedimiento almacenado mipckg.misp (p1,
p2, p3, p4) con sus parámetros respectivos.....

directamente puedo hacerlo desde el archivo bat?
o debo poner esta llamada al procedimiento almacenado"misp" dentro de un
fichero sql p.e "misql.sql"?

por mientras mifichero.bat quedará así:

--- mifichero.bat ----
rem Voy a conectarme a sqlplus... y llamando a misql.sql con sus
parámetros.....
rem
rem %1 es el usuario
rem %2 es el password
rem %3 es el nombre de mi bdd
rem %4 es el param1 necesario para invocar mi procedimiento almacenado misp
rem %5 es el param2 necesario para invocar mi procedimiento almacenado misp

sqlplus.exe %1%2@%3 @misql.sql %4 %5
----------------------

Esta bien invocar así mi sql de inicio???? así se ponen sus parámetros

claro haciendo la prueba he creado un fichero misql.sql
que contiene....

------ misql.sql -------
set echo on;
exec mipckg.misp (1, 1);
exit;
-----------------------
y me funciona porque le estoy llamando al procedimiento almacenado misp
directamente poniendole como parámetros los valores "1" y "1"
respectivamente.... pero si quiera que este misql.sql recogiera los
parámetros enviados desde mifichero.bat como lo hago ???

es decir....

------ misql.sql -------
set echo on;
exec mipckg.misp (¿aqui como pongo los parámetros?);
exit;
-----------------------

Si sabes otra forma de como hacer esta llamada directamente a mi
procedimiento almacenado "misp", sin hacerlo desde un fichero sql
"misql.sql" pero desde un fichero batch?
Gracias de antemano,
un saludo,