Olá pessoa, passei por um problema aqui na empresa e vou compartilhar com os colegas...
Eu tenho um diretório no Linux, que caem diversos arquivos, e tenho um Shell que lê estes arquivos e importa para o banco de dados., Entretanto tive que processar um retorno SEFAZ o arquivo não é padronizado então o Shell estava com problemas de processar os arquivos. Resumindo, o faturamento parou. Bom minhas alternativas... Colocar um novo Shell para importar os arquivos da sefaz ou fazer com que o oracle importe estes arquivos, PL/SQL ou Java. sem a ajuda do Shell. A melhor solução que eu achei foi esta, isso ao meu ver. CREATE OR REPLACE PROCEDURE list_directory (directory VARCHAR2) IS ns VARCHAR2(1024); v_directory VARCHAR2(1024); BEGIN v_directory := directory; SYS.DBMS_BACKUP_RESTORE.SEARCHFILES(v_directory, ns); FOR each_file IN (SELECT fname_krbmsft AS name FROM x$krbmsft) LOOP DBMS_OUTPUT.PUT_LINE(each_file.name); END LOOP; END; / SQL> SET SERVEROUTPUT ON; SQL> EXECUTE sys.list_directory('/u01/app/oracle/admin/testdb/bdump'); /u01/app/oracle/admin/testdb/bdump/alert_testdb.LOG /u01/app/oracle/admin/testdb/bdump/testdb_lgwr_6884.trc /u01/app/oracle/admin/testdb/bdump/testdb_lgwr_10639.trc /u01/app/oracle/admin/testdb/bdump/testdb_lgwr_10724.trc /u01/app/oracle/admin/testdb/bdump/testdb_lgwr_3618.trc /u01/app/oracle/admin/testdb/bdump/testdb_lgwr_10785.trc PL/SQL PROCEDURE successfully completed. Posso pegar o retorno da procedure e colocar em uma tabela temporária, depois disso passo o nome do arquivo para a procedure que vai ler e inserir no banco o conteúdo do arquivo.., Este é o link do site, tem exemplos Java também.. http://birijan.com.np/?q=plsq+directory+listing Att, Welvis Douglas da Silva Moretto OCP DBA 10g - OCE Sql Fone: (41) 9997-6297 E-mail: welvis_doug...@hotmail.com, welvis.m...@terceiros.stcruz.com.br