Obrigado a todos pelo retorno.

 

As procedures já trabalham com a DBA_DIRECTORY.

Veja um exemplo:

Na DBA_DIRECTORY tenho um DIRECTORY_NAME chamado "FTP" onde seu path está 
indicado para um outro servidor "\\SERVIDOR_WINDOWS\FTP"

Dentro da procedure existe um caminho onde o arquivo irá ser gravado, que 
seria: "\CLIENTE_XPTO\RELATORIOS_MENSAIS". 

 

Juntando PATH + CAMINHO a linha ficará:

UTL_FILE.FOPEN(\\SERVIDOR_WINDOWS\FTP\CLIENTE_XPTO\RELATORIOS_MENSAIS,NOME_ARQUIVO,W)

 

O problema está em alterar a barra invertida que está no caminho dentro da 
procedure. 

 

 

 

Aldenicio Lopes

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em nome 
de José Laurindo
Enviada em: quarta-feira, 30 de novembro de 2011 15:18
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: RES: [oracle_br] Migração Window x Linux

 

  

Adiciono um +1 na sua recomendação, Diogo : é uma opção interessante, já que se 
ganha em flexibilidade (pois o path fica "gravado" dentro do database, no 
objeto DIRECTORY do database, pode ser alterado online, diferente do 
UTL_FILE_DIR que exige um restart da instância), ganha em Segurança (já que, 
por ser objeto interno do database, Obviamente se pode dar GRANTs específicos 
do DIRECTORY pra usuários determinados), ganha em acesso aos novos recursos 
(por exemplo, EXTERNAL TABLEs, Data pump e várias outras "novas" features 
usam/aceitam DIRECTORY, então sim, é recomendável...

Aldenício, pra vc mudar pra acesso via DIRECTORY e aposentar o UTL_FILE_DIR , a 
alteração é relativamente simples, basta nas chamadas ao UTL_FILE.OPEN vc 
indicar o nome de um DIRECTORY que vc criou previamente ao invés de estabelecer 
um PATH fixo : a Documentação Oracle te mostra como, e uns exemplinhos podem 
ser http://www.jlcomp.demon.co.uk/faq/utl_file.html , 
http://oracleappstechnology.blogspot.com/2008/03/minimize-usage-of-utlfiledir.html
 e 
http://www.devshed.com/c/a/Oracle/Reading-Text-Files-using-Oracle-PLSQL-and-UTLFILE/
 ...

[]s

Chiappa


--- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> , 
Diego Leite <diegoleite2v@...> escreveu
>
> Amigo,
> 
> Nao aproveita esssa migracao esse trabalho para migrar para a utilizacao de
> diretorio oracle ao inves do utl_file_dir?
> 
> Em 30 de novembro de 2011 13:43, José Laurindo
> <jlchiappa@...>escreveu:
> 
> > **
> >
> >
> > Bem, necessariamente vc vai ter que recriar as procedures em questão, mas
> > o que ocorre é que stored procedures residem ** dentro ** do database, e o
> > Linux (como Qualquer outro SO) absolutamente Não Tem permissão de mexer em
> > absolutamente nada dentro do database....
> > Vc até poderia extrair os comandos CREATE PROCEDURE necessários pra um
> > arquivo-texto, usar os comandos de manipulação de textos do linux, e depois
> > usar o texto alterado pra recriação, mas imho, já que vc vai mesmo ter que
> > conectar no database pra extrair o DDL, já extraia o DDL trocando a string
> > que vc quer, aí vc poderia OU executar o DDL alterado via EXECUTE
> > IMMEDIATE, OU simplesmente bota os DDLs num arquivo-texto que o sqlplus
> > possa executar, o que seria + ou - tipo :
> >
> > spool procedures_recreate.sql
> > select
> > replace(DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name) ,
> > 'C:\pathdowindows', '/pathdolinux')
> > from
> > user_objects u
> > where
> > object_type = 'PROCEDURE';
> > spool off;
> >
> > aí depois se executaria o .sql gerado numa tool cliente qquer (o sqlplus
> > ou no SQL Developer ou qquer outra) ..... Nem preciso dizer, o exemplo
> > acima Não Tem todas as formatações necessárias, nem está filtrando só as
> > procs que vc quer, ele é super-simplista, só serve de exemplo geral, mas o
> > caminho é por aí...
> >
> > []s
> >
> > Chiappa
> >
> >
> > --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> 
> > , "Aldenicio Lopes da Silva" <alopes@>
> > escreveu
> >
> > >
> > > Obrigado pelo retorno,
> > >
> > >
> > >
> > > A migração está sendo feita para Oracle 11g no RH5.7.
> > >
> > > A idéia era automatizar essa troca (de c:\qualquercoisa para
> > /mnt/pastacompartilhada). Existe alguma aplicação/comando no Linux que
> > faria essa substituição no código da procedure?
> > >
> > >
> > >
> > > Aldenicio Lopes
> > >
> > >
> > >
> > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>  
> > > [mailto:oracle_br@yahoogrupos.com.br 
> > > <mailto:oracle_br%40yahoogrupos.com.br> ]
> > Em nome de JLSilva
> > > Enviada em: quarta-feira, 30 de novembro de 2011 11:45
> > > Para: oracle_br@yahoogrupos.com.br 
> > > <mailto:oracle_br%40yahoogrupos.com.br> 
> > > Assunto: Re: [oracle_br] Migração Window x Linux
> > >
> > >
> > >
> > >
> > >
> > > Olá, Aldenicio.
> > > O Oracle9iR2 não funciona sobre Red Hat Enteprise Linux 5.
> > > Você pode usar o Red Hat Enterprise Linux 4.8.
> > >
> > > Quanto ao UTL_FILE, o jeito é mudar, mesmo, viu... em todos os locais
> > onde vc usava C:\qualquercoisa, tem que mudar para um /mnt/mountpointsamba.
> > > Observe que já estou sugerindo o uso do samba.. ou seja, vc pode
> > continuar usando os diretórios no servidor windows, para que as pessoas
> > possam acessar os arquivos via rede, e vc monta esse diretório no linux via
> > compartilhamento samba.
> > >
> > > On Nov 30, 2011, at 13:15 , Aldenicio Lopes da Silva wrote:
> > >
> > > > Boa tarde,
> > > >
> > > >
> > > >
> > > > Na empresa onde trabalho, estamos no processo de migração do Oracle
> > 9.2.0.8 que está no Windows 2003 R2 para Linux RH 5.7
> > > >
> > > >
> > > >
> > > > Gostaria de saber se alguém que passou por esta experiência, qual foi
> > a solução adotada quando se deparou com as procedures que geram/lêem
> > arquivos através do UTL_FILE,
> > > >
> > > > sendo que na indicação do caminho tem o famoso BARRA INVERTIDA "\" na
> > separação das pastas.
> > > >
> > > >
> > > >
> > > > Aguardo retorno dos colegas.
> > > >
> > > >
> > > >
> > > > Atenciosamente,
> > > >
> > > >
> > > >
> > > > Aldenicio Lopes
> > > >
> > > >
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > ----------------------------------------------------------
> > > >> Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> > inteira responsabilidade de seus remetentes.
> > > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > > > ----------------------------------------------------------
> > > >> Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
> > VISITE: http://www.oraclebr.com.br/
> > > > ---------------------------------------------------------- Links do
> > Yahoo! Grupos
> > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> >
> > 
> >
> 
> 
> 
> -- 
> Att,
> 
> 
> Diego Leite
> DBA ORACLE
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>





[As partes desta mensagem que não continham texto foram removidas]

Responder a