Oracle+txt

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Qua, 23 Jun 2004 2:47 pm

Boa Tarde,

gostaria de gerar um arquivo txt a partir de um resultado sql num banco de dados Oracle, sei que o mysql contem essa instrução:

SELECT * INTO OUTFILE "texto.txt" FROM tabela;

Existe algo similar para o oracle??

Agradeço...
Fabiano

Mensagemem Qua, 23 Jun 2004 2:54 pm

Em SQL nativo, isso não é possível.

Você tem que nos informar qual ferramente você quer fazer isso:
* No SQL*Plus, você pode usar SPOOL c:\arq.txt (depois, pra terminar, usa SPOOL OFF)
* No forms, você usa TEXTO_IO
* No banco, usa o UTL_FILE
* Etc...
dr_gori
Localização: Portland, OR USA

Thomas F. G

Você já respondeu a dúvida de alguém hoje?
http://glufke.net/oracle/search.php?search_id=unanswered

Mensagemem Qui, 24 Jun 2004 9:36 am

Eu costumo usar a primeira dica que o amigo acima deu, usando SPOOL e SPOOL OFF no SQLPlus. Funciona bem.
moonlight
Localização: Goiânia

:P

Mensagemem Qui, 24 Jun 2004 10:50 am

aí pessoal,

segui as dicas e vi a utilização do spool, obrigado pelo ajuda deu muito certo...

Falow...
Fabiano

Mensagemem Qua, 25 Ago 2004 10:58 am

acho que oque você quer fazer é isso não é ?
antes você tem que setar o parametro utl_file_dir = /tmp ?
esse parametro esta em 'init<sid>.ora'
- funciona assim , primeiro você vai criar um procedimento com um cursor que vai gerar o resultado que você precisa.
-depois você chama esse procedimento passando o retorno dele como paramentro pra essa procedure abaixo !

Código: Selecionar todos
create or replace procedure sp_grave_arquivotxt
  (pdiretorio      in varchar2,
   pnome_arquivo   in varchar2,
   ptexto          in varchar2)
is
    vOutput_file  utl_file.file_type;
begin
-- Se já existir abre , senão cria !
    vOutput_file := utl_file.fopen (pdiretorio,pnome_arquivo, 'W');
-- Grava linhas no arquivo.
    Utl_File.put_line(vOutput_file, ptexto );
-- fecha
    Utl_File.fclose(vOutput_file);
    Dbms_Output.Put_Line('Arquivo gerado com sucesso.');
EXCEPTION
      WHEN UTL_FILE.INVALID_OPERATION THEN
               Dbms_Output.Put_Line('Operação inválida no arquivo.');
               UTL_File.Fclose(vOutput_file);
      WHEN UTL_FILE.WRITE_ERROR THEN
               Dbms_Output.Put_Line('Erro de gravação no arquivo.');
               UTL_File.Fclose(vOutput_file);
      WHEN UTL_FILE.INVALID_PATH THEN
               Dbms_Output.Put_Line('Diretório inválido.');
               UTL_File.Fclose(vOutput_file);
      WHEN UTL_FILE.INVALID_MODE THEN
               Dbms_Output.Put_Line('Modo de acesso inválido.');
               UTL_File.Fclose(vOutput_file);
      WHEN Others THEN
               Dbms_Output.Put_Line('Problemas na geração do arquivo.');
               UTL_File.Fclose(vOutput_file);
END;
jack
Localização: CURITIBA - PR


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


Voltar para SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante