É verdade, quando eu citei "NFS" na verdade pode-se incluir também softs que fazem o network file system via protocolo próprio, como o Samba (protocolo SMB), ou protocolo CIFS full (a HP e a IBM tem alguns softwares que implementam, como o client CFIS HP em http://docs.hp.com/en/B8724-90067/ch02s01.html e o IBM Fast Connect em http://publib.boulder.ibm.com/infocenter/pseries/index.jsp? topic=/com.ibm.aix.doc/aixbman/fastcon/fcintro.htm , e soluções comerciais como http://www.ghs.com/products/comm_visuality.html), e alguns menos votados que usam protocolo próprio montando em cima de TCP/IP e HTTP, como o WEBdav em http://www.webdav.org/ , sim...
[]s Chiappa --- Em [email protected], Marcio Portes <[EMAIL PROTECTED]> escreveu > Complementando a resposta, voce pode usar o smb também para criar arquivos no seu client. > No exemplo que fiz: do linux vou mountar um diretório através do samba client (SMB) mapeando um diretório compartilhado > e gerar um arquivo vazio no meu Windows XP (que poderia ser o client da aplicação). > > [EMAIL PROTECTED]> !su -c "mount -t smbfs -o username=marcio,uid=oracle,gid=dba //anakin/r2d2_backup /mnt/winxp/" > Password: ****** > Password: > > Note que a primeira Password é do su (root) e o segundo do username=marcio > > [EMAIL PROTECTED]> create or replace directory winxp_dir as '/mnt/winxp/utl_dir'; > > Directory created. > > Para não precisar utilizar o utl_file_dir, criamos um directory. > > [EMAIL PROTECTED]> declare > 2 l_output utl_file.file_type; > 3 begin > 4 l_output := utl_file.fopen ( 'WINXP_DIR', 'teste.txt', 'w' ); > 5 dbms_output.put_line( 'Sucesso! Arquivo criado ! ' ); > 6 utl_file.fclose( l_output ); > 7 exception > 8 when others then > 9 dbms_output.put_line( 'Falha! Arquivo NAO criado! ' ); > 10 end; > 11 / > Sucesso! Arquivo criado ! > > PL/SQL procedure successfully completed. > > Agora abro uma janelinha DOS: Start -> Run -> cmd > vou para o diretório mapeado e vejo se o arquivo teste.txt foi criado. > > Microsoft Windows XP [Version 5.1.2600] > (C) Copyright 1985-2001 Microsoft Corp. > > C:\Documents and Settings\Marcio>e: > > E:\>cd r2d2_backup\utl_dir > > E:\r2d2_backup\utl_dir>dir > Volume in drive E is New Volume > Volume Serial Number is 0C49-8771 > > Directory of E:\r2d2_backup\utl_dir > > 11/17/2005 09:10 AM <DIR> . > 11/17/2005 09:10 AM <DIR> .. > 11/16/2005 02:50 PM 0 teste.txt > 1 File(s) 0 bytes > 1 Dir(s) 37,731,811,328 bytes free > > E:\r2d2_backup\utl_dir> > > Essa pode ser outra idéia para gerar arquivos no client usando pl/sql. > > jlchiappa wrote: > > Pessoal, vamos colocar os pingos nos Is, aí : o PL/SQL é uma > > linguagem de back-end, que roda NO SERVIDOR APENAS, é absolutamente > > documentado que por si só ela é capaz de manipular apenas itens > > acessíveis AO SERVIDOR, ponto. Assim sendo, SE vc quiser fazer I/O em > > PL/SQL num local fora do servisor, vc ** TEM QUE **, via algum > > software/recurso do SO, "mapear", tornar disponível AO SERVIDOR o > > local externo, isso pode ser feito instalando-se um software de NFS, > > ou mapeando-se o local remoto, http://asktom.oracle.com/pls/ask/f? > > p=4950:8:::::F4950_P8_DISPLAYID:4069950506780 e > > http://asktom.oracle.com/pls/ask/f? > > p=4950:8:::::F4950_P8_DISPLAYID:241814624807 tem longas discussões e > > dicas a respeito. > > Caso não seja viável/possível isso, a solução óbvia é, para gravar > > um arquivo na máquina-cliente, colocar a rotina na linguagem cliente > > onde vc faz o front-end (VB no caso do colega q perguntou), e NÂO no > > banco. Caso REALMENTE, por qquer motivo, vc TENHA QUE fazer o I/O em > > PL/SQL e não seja possível nfs/mapeamento, aí em PL/SQL puro vai ser > > IMPOSSÍVEL, vc teria que escrever uma rotina numa linguagem que o > > PL/SQL suporte e que não tenha a restrição e chamar essa rotina , > > pode ser em Java (via java procedure ou simulando-se um HOST), ou C > > (via external procedures). > > > > []s > > > > Chiappa > > > > --- Em [email protected], Elis Azevedo Nery > > <[EMAIL PROTECTED]> escreveu > > > >>Olá! > >> > >> Eu também estou precisando desta solução e ainda pesquisando. O > > > > que encontrei foi um pacote chamado WEBUTIL, mas ainda não consegui > > fazer funcionar. > > > >> Se alguém tiver experiência com isto, aceito sugestões. > >> > >> Obrigada > >> Elis > >> > >>rflribeiro01 <[EMAIL PROTECTED]> escreveu: > >> > >> É possível fazer com que uma procedure que utiliza o UTL_FILE > > > > escreva > > > >>na máquina do cliente, onde está rodando a aplicação? Tenho uma > >>aplicação VB que executa algumas procedures, mas não está > >>funcionando... No init já foi adicionada a linha: utl_file_dir = * , > >>mas não está funcionando. Abaixo, segue a proc mais simples, que não > >>funciona também... Desde já, obrigado. > >> > >>rflribeiro > >>msn: [EMAIL PROTECTED] > >> > >>CREATE OR REPLACE PROCEDURE P_CADEMPRESA (P_CODEMPRESA > >>CADEMPRESA.CODEMPRESA%TYPE) IS > >> TEXTO UTL_FILE.FILE_TYPE; > >> VAR VARCHAR2(1022); > >> CURSOR C1 IS SELECT CODEMPRESA, NOME FROM CADEMPRESA WHERE > >>CODEMPRESA = P_CODEMPRESA ORDER BY CODEMPRESA; > >>BEGIN > >> TEXTO := UTL_FILE.FOPEN('D:\','CADEMPRESA.TXT','A'); > >> FOR R1 IN C1 LOOP > >> > >>UTL_FILE.PUT_LINE(TEXTO,RPAD(TRIM(R1.CODEMPRESA),4)||'|'||RPAD (TRIM > > > > (R1.NOME),100)); > > > >> UTL_FILE.FFLUSH(TEXTO); > >> END LOOP; > >> UTL_FILE.FCLOSE(TEXTO); > >> DBMS_OUTPUT.PUT_LINE('Arquivo gerado com sucesso!'); > >>EXCEPTION > >> WHEN OTHERS THEN > >> DBMS_OUTPUT.PUT_LINE('* EXCEPTION (0) *'); > >> DBMS_OUTPUT.PUT_LINE('ERRO DESCRICAO.....: '||SQLERRM); > >> DBMS_OUTPUT.PUT_LINE('ERRO NUMERO........: '||SQLCODE); > >>END; > >>/ > >> > >> > >> > >> > >>------------------------------------------------------------------ -- > > > > ------------------------------------------------------ > > > >>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/[email protected]/ > >>------------------------------------------------------------------ -- > > > > ------------------------------------------------------ > > _____________________________________________________________________ > > > >>Area de download do grupo - > > > > http://www.4shared.com/dir/101727/a4dcc423 > > > >> > >> Yahoo! Grupos, um serviço oferecido por: > > > > PUBLICIDADE > > > >> var lrec_target="_blank";var lrec_URL=new Array(); lrec_URL [1] > > > > ="http://br.rd.yahoo.com/SIG=12fh4v2hu/M=380335.7481167.8369105.236989 > > 3/D=brclubs/S=2137114689:HM/Y=BR/EXP=1132174244/A=3126093/R=0/id=flash > > url/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066; > > a?http://www.hoteis.com"; var > > lrec_flashfile="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1116_lrec_ > > hotels_natal.swf?clickTAG=javascript:LRECopenWindow(1)"; var > > lrec_altURL="http://br.rd.yahoo.com/SIG=12fh4v2hu/M=380335.7481167.836 > > 9105.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1132174244/A=3126093/R > > =1/id=altimg/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485; > > 12120066;a?http://www.hoteis.com"; var > > lrec_altimg="http://br.i1.yimg.com/br.yimg.com/i/br/ads6/1116_lrec_hot > > els_natal.gif"; var lrec_width=300;var lrec_height=250; > > > >> > >>--------------------------------- > >> 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 Termos do > > > > Serviço do Yahoo!. > > > >> > >> > >> > >> > >>--------------------------------- > >> Yahoo! Acesso Grátis: Internet rápida e grátis. > >>Instale o discador agora! > >> > >>[As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > ------------------------------------------------------------------ -------------------------------------------------------- > > 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/[email protected]/ > > ------------------------------------------------------------------ -------------------------------------------------------- _____________________________________________________________________ > > Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > -- > Marcio Portes > http://mportes.blogspot.com -------------------------------------------------------------------------------------------------------------------------- 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/[email protected]/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ 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
