Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Invocar Un Procedimiento Almacenado Desde Un Fichero Batch

Estas en el tema de Invocar Un Procedimiento Almacenado Desde Un Fichero Batch en el foro de Bases de Datos General en Foros del Web. 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" ...
  #1 (permalink)  
Antiguo 24/06/2003, 01:29
 
Fecha de Ingreso: mayo-2003
Mensajes: 5
Antigüedad: 21 años
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,
  #2 (permalink)  
Antiguo 24/06/2003, 05:46
Avatar de Cauchemar  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 137
Antigüedad: 20 años, 10 meses
Puntos: 0
Me temo que la unica forma de hacerlo es invocando el fichero .sql

Y para pasarle parametros es como tu has indicado:

Código:
sqlplus.exe %1%2@%3 @misql.sql %4 %5
eso si, quizas seria mas comod que pongas el sqlplus en modo silencioso (-s)
__________________
La utopía está en el horizonte: cuando yo camino dos pasos ella se aleja dos pasos. Yo camino diez pasos y ella está diez pasos más lejos ¿Para qué sirve la utopía?. Sirve para eso: para caminar.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:11.