Error in executing JOB in Oracle

0

I have a job that calls a procedure to generate a text file with all the names of employees in a company:

job code:

BEGIN
  BEGIN
    SYS.DBMS_SCHEDULER.DROP_JOB('job_criarquivo');
    EXCEPTION WHEN OTHERS THEN NULL;
  END;

    dbms_scheduler.create_job(
        job_name        => 'JOB_CRIARQUIVO',
        job_type        => 'STORED_PROCEDURE',
        job_action      => 'CRIARARQUIVOTXT',
        ENABLED           => TRUE,
        AUTO_DROP         => TRUE,
        START_DATE      => SYSDATE,
    REPEAT_INTERVAL => 'FREQ=SECONDLY; BYSECOND=0,10,20,30,40,50');
END;

Procedure code to generate the txt file:

CREATE OR REPLACE PROCEDURE CRIARARQUIVOTXT AS
  Arquivo_saida  UTL_File.File_Type;
  Dir_Arq   VARCHAR2(60);

Cursor cur_arq is 
  Select f.NOME linha from tfuncionario f ;

BEGIN

-- Diretorio do Arquivo
Dir_Arq := 'C:\Users\alex.jose.silva\Documents\testes';

-- Abrindo o arquivo para a gravação
Arquivo_saida  := UTL_File.Fopen(Dir_Arq, 'teste.txt','w' );

-- Abrindo o cursor para realizar o loop das linhas que irão no arquivo
for Reg_Linha in cur_arq loop
 UTL_File.Put_Line(Arquivo_Saida, Reg_Linha.linha);
end loop;

-- Fechando o arquivo
UTL_File.Fclose(Arquivo_Saida);
  Dbms_Output.Put_Line('Arquivo gerado com sucesso.');

Exception
  WHEN UTL_FILE.INVALID_OPERATION THEN
    Dbms_Output.Put_Line('Operação inválida no arquivo.');

UTL_File.Fclose(Arquivo_saida);
  WHEN UTL_FILE.WRITE_ERROR THEN
    Dbms_Output.Put_Line('Erro de gravação no arquivo.');

UTL_File.Fclose(Arquivo_saida);
  WHEN UTL_FILE.INVALID_PATH THEN
    Dbms_Output.Put_Line('Diretório inválido.');

UTL_File.Fclose(Arquivo_saida);
  WHEN Others THEN
    Dbms_Output.Put_Line('Problemas na gravação do arquivo.');

UTL_File.Fclose(Arquivo_saida);


END CRIARARQUIVOTXT;

Error message:

    
asked by anonymous 09.02.2018 / 00:55

0 answers