Saludos
Estoy comenzando en estos de las Base de Datos de Oracle mi problematica es la siguiente:
He creado el siguiente procedimiento a travez de Enterprise Manager (Consulta):
CREATE OR REPLACE PROCEDURE ver_orden(ordenv number) is v_output_file1 utl_file.file_type; orden Varchar2 (10); cliente Varchar2 (10); Referencia Varchar2 (10); begin v_output_file1 := utl_file.fopen('TEST_DIR', 'miguel.txt', 'W'); v_output_file1 := utl_file.fopen ('test_dir', 'miguel.txt', 'W'); select t$orno, t$cuno ,t$refe into orden, cliente, referencia from ttdsls928100 where orden=ordenv; DBMS_OUTPUT.PUT_LINE('Orden:'||orden|| 'Cliente:' ||Cliente|| 'Referencia' ||referencia); EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('No hemos encontrado ordenes'); utl_file.fclose_all; utl_file.fclose_all; end;
Cuando lo compilo me indica que no tiene errores.
Luego en el Oracle Scheduler > Trabajos
Creo un trabajo para ejecutar llamando este procedimiento:
begin; execute ver_orden('25030'); end;Cuando ejecuto el trabajo me da un error:
ORA-06550: línea 1, columna 728: PLS-00103: Encountered the symbol ";" when expecting one of the following: (begin case declare exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purgeY no entiendo este error, por lo que espero sus comentarios para ver en que estoy fallando, si estoy haciendo algo incorrecto.
Atentamente
pro_miguel
- Inicie sesión o registrese para enviar comentarios
Hola Miguel, Simplemente
Subido por Antonio Rivas el 30 Diciembre, 2011 - 10:11
Hola Miguel,
Simplemente te sobra el ; después del begin cuando declaras el trabajo en el scheduler.
Salud!
Antonio Saludos
Subido por pro_miguel el 30 Diciembre, 2011 - 15:05
Antonio
Saludos
Gracias por tu ayuda. es que esto es nuevo para nosotros que estamos trabajando desde hace 6 meses con oracle. y estamos realizando pruebas para definir todas nuestras tareas a traves del Oracle Scheduler y no por el crontab.