Alysson, é exatamente isto que estou procurando. Queria que o Oracle criasse uma pasta com o nome do usuário p/ receber os arquivos texto. Só que meu banco é 8i. Não existe algum jeito de fazê-lo no 8i? Desde já, obrigado.
rflribeiro msn:[EMAIL PROTECTED] Allyson - Listas wrote: >Até onde sei o Oracle cria apenas o arquivo caso este não exista através >do modo de abertura do utl_file.fopen. >Porém como vc sabe o UTL_FILE_DIR necessita de um reboot para ter >validade. A partir do Oracle 9i surgiu o conceito de directory, que é >uma forma mais flexível de trabalhar com o pacote utl_file, veja um >exemplo... > >create or replace directory EXPORTS as 'c:\exports' <--- cria um >objeto no banco do tipo diretorio >depois de criado o diretorio vc deve dar privilegios de read ou write >pro usuario... grant read,write on directory exports to usuario > >No meu exemplo fiz tudo como system por preguiça :) > >Veja um código PL/SQL bem simples... > >create or replace procedure stp_cria_arquivo(diretorio in varchar2, >arquivo in varchar2) >is > arquivo_saida utl_file.file_type; >begin > arquivo_saida := utl_file.fopen(location => diretorio,filename => >arquivo,open_mode => 'w'); > utl_file.put_line(arquivo_saida,'teste123'); > utl_file.fclose(arquivo_saida); >end stp_cria_arquivo; > >Agora veja a flexibilidade > >SQL> exec stp_cria_arquivo('EXPORTS', 'teste1.txt') ; > >SQL> ho type c:\exports\teste1.txt >teste123 > >Vamos mudar o diretorio exports para c:\abc > >create or replace directory EXPORTS as 'c:\abc' ; > >Agora vamos executar novamente a procedure > >SQL> exec stp_cria_arquivo('EXPORTS', 'teste1.txt') ; >SQL> ho type c:\abc\teste1.txt >teste123 > >Veja que alterei apenas o destino do objeto directory e nao foi >necessário reboot do servidor :) > > >[]'s > > >[EMAIL PROTECTED] wrote: > > > >>Quando defino o caminho do arquivo texto gerado pelo UTL_FILE, o banco >>cria a pasta, se ela não existir? Caso ele crie a pasta, posso criar uma >>pasta central e dar permissão de leitura p/ todos na rede. O banco criaria >>uma pasta p/ cada procedimento de exportação dentro dela, utilizando o >>horario como nome, por exemplo. Ao final de cada procedimento de >>exportação dos dados p/ os arquivos texto eu faria o VB6 abrir via shell >>um explorer exibindo o conteúdo desta pasta compartilhada na máquina do >>cliente mesmo... Será que vira? >> -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html