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

Ejecutar procedimiento en una tarea programada

Estas en el tema de Ejecutar procedimiento en una tarea programada en el foro de Oracle en Foros del Web. Buenos días señores, necesito ejecutar un procedimiento desde una tarea programada y no he encontrado mucha información al respecto, a lo mucho he encontrado como ...
  #1 (permalink)  
Antiguo 06/07/2011, 09:04
 
Fecha de Ingreso: abril-2010
Mensajes: 49
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Ejecutar procedimiento en una tarea programada

Buenos días señores, necesito ejecutar un procedimiento desde una tarea programada y no he encontrado mucha información al respecto, a lo mucho he encontrado como ejecutar una sentencia sql pero no un procedimiento, ojala pudiesen ayudarme. Gracias.
  #2 (permalink)  
Antiguo 07/07/2011, 01:13
 
Fecha de Ingreso: agosto-2006
Mensajes: 174
Antigüedad: 18 años, 4 meses
Puntos: 2
Respuesta: Ejecutar procedimiento en una tarea programada

Buenas,

Para solucionar tu duda, se me ocurre entre otras cosas que puedes usar los jobs de Oracle. Seria algo parecido a esto:

DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'tuPorcedimiento'
,next_date => to_date('08/07/2011 08:02:36','dd/mm/yyyy hh24:mi:ss')
,interval => 'SYSDATE+1'
,no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
/

Ahi lo tienes, y espero que te sirva.

Saludos
  #3 (permalink)  
Antiguo 07/07/2011, 14:54
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años, 1 mes
Puntos: 85
Respuesta: Ejecutar procedimiento en una tarea programada

No dices si la tarea programada debe estar dentro o fuera de la base de datos, si es dentro, como ya comentaron, puede ser con dbms_job o dbms_scheduler, si es desde fuera, lo puedes hacer con un script que llame al SQL*Plus, por ejemplo:

Dentro del script (.sh en unix/linux o .bat en Windows)

Código:
sqlplus user/pass@sid @proc.sql
Y dentro del fichero proc.sql

Código:
begin
 tuPorcedimiento(parámetros);
end;
/
exit
/
Saludos
  #4 (permalink)  
Antiguo 20/07/2011, 10:46
 
Fecha de Ingreso: junio-2011
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ejecutar procedimiento en una tarea programada

Especifica eso de la tarea programada.

yo las aplico desde un shell y cron

Archivo .sh
contiene el sql pluss User@pass script/carpteta/.sql
y luego tu archivo .sql Todo dentro de una misma carpeta.

Luego en tu servidor UNIX/Linux programas el Cron. Santo remedio

Etiquetas: procedimiento, sql, tarea
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 00:57.