É 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

 


Responder a