Sergio,

Estava lendo a resposta 109582 do Chiappa e fiquei pensando, talvez vc possa 
testar uma variação que não usa JAVA e faz um mix das formas externas de 
disparo.

-No Windows, faça pelo Agendador de Tarefas, uma execução a cada 1h (ou 30 
minutos) de um arquivo verifica.bat que contenha:

cd /pasta
dir *.txt /b > listarq.dat

-No Oracle, crie uma tabela externa, conforme exemplo em 
http://www.oracle-developer.net/display.php?id=204 abrindo como table, o 
arquivo "listarq.dat" criado pelo .bat acima.

-No Oracle, crie outra tabela para "sinalizar" a tabela processada, onde a sua 
procedure deve atualizar esta tabela após o processamento de cada arquivo, 
contendo:
nomearquivo         varchar2(20);
dataprocessamento   date;
linhasprocessadas   number;
...demais informações

-Desta forma, mesmo que sejam removidos os arquivos TXT do diretório, vc terá 
registrado em tabela, qual arquivo já foi processado.

-Liste para processar somente aqueles que sobrarem de um MINUS entre as duas 
tabelas, carregando um cursor com o resultado. No loop, processe o arquivo com 
o utl_file, salve na tabela de arquivos processados.

-Vc pode até programar um JOB para rodar a cada 15minutos, que chame a sua 
procedure. Basta que vc prepare a procedure para testar o resultado do cursor: 
se %FOUND executa, senão EXIT.


Ederson Elias
DBA Oracle
http://br.linkedin.com/pub/ederson-elias/24/8b/8b0


--- Em oracle_br@yahoogrupos.com.br, "Sergio" <sergiofp413@...> escreveu
>
> Bom dia!
> 
> Estou utilizando o Oracle 9.0.1.1.1
> Tenho uma procedure que necessita checar sequenciação e processar vários
> arquivos texto de um determinado diretório Windows.
> O processamento dos arquivos texto com UTL_FILE não tenho problemas, pois
> uso com frequência, mas sempre com um arquivo.
> Pesquisei as alternativas abaixo, mas todas me levaram a um beco sem saída:
> 
> 1-Utilização de rotina Java
>     Mesmo seguindo todos os detalhes de criação, grants e etc sempre
> apresenta erro.
> 
> 2-DBMS.BACKUP_RESTORE_FILES.SEARCHFILES
>     o SEARCHFILES não esta disponível na versão 9.0.1.1.1
> 
> Alguém tem uma procedure de exemplo que funcione na minha versão?
> 
> Abraços
> Sérgio
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>

Responder a