Criação arquivo texto

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
rafacbru
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Ter, 28 Dez 2010 10:34 am
Localização: SP
Rafa Brunelli

Fala pessoal, tudo beleza??

To precisando de um help em PL/SQL, mais especificamente para uso no PL/SQL Developer.
Já procurei em tudo que é lugar (Goooogle) e não achei nada.

Estou precisando gerar um arquivo texto mas o mesmo tem de ser gerado localmente (como o C:) e não no servidor Oracle.

Sei do recurso do UTL_FILE mas ele só grava/lê arquivos direto do servidor.
Também sei do recurso TEXT_IO mas o mesmo só funciona no Forms.

Podem me ajudar? Isso é possível??

Valeu desde já!
paulochagas
Moderador
Moderador
Mensagens: 86
Registrado em: Qua, 15 Mar 2006 2:46 pm
Localização: São Paulo - SP
Paulo Chagas Filho
__________________

Analista Funcional / Desenvolvedor Oracle EBS
MSN - paulochagas@hotmail.com
Gtalk - pachafi@gmail.com
Skype - paulochagas

Fala Amigo

Uma alternativa seria utilizar o SQL Loader .....
Funcionaria para você?
rafacbru
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Ter, 28 Dez 2010 10:34 am
Localização: SP
Rafa Brunelli

Nunca ouvi falar deste recurso pra te falar a verdade...
Mas ele gera arquivo também? Pelo pouco que vi no google parece que somente le.

Tem como enviar um exemplo curto e prático?

Valeu!
paulochagas
Moderador
Moderador
Mensagens: 86
Registrado em: Qua, 15 Mar 2006 2:46 pm
Localização: São Paulo - SP
Paulo Chagas Filho
__________________

Analista Funcional / Desenvolvedor Oracle EBS
MSN - paulochagas@hotmail.com
Gtalk - pachafi@gmail.com
Skype - paulochagas

Desculpe eu me confundi :oops:

De fato o SQL Loader apenas lê dados de um arquivo para uma tabela e não de uma tabela para um arquivo.
Para o seu caso eu poderia sugerir duas opções:
1 - Criar um compartilhamento numa pasta especifica do servidor (apenas para essa função) e criar uma unidade de rede para a maquina local.

2 - Gerar essa saida via dbms_output.put_line() e guardar no spool do sql plus.


O que você acha?
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 28 Dez 2010 7:41 pm
Localização: São Paulo - SP

Olá,

Se eu entendi correto, gerar apenas no client da Máquina e não no servidor?

Use o spool no SQL*Plus

Selecionar tudo

SQL> spool c:\arquivoteste.txt
SQL> <sua query>
SQL> spool off
Utilize ainda os parâmetros do SQL*Plus como
set linesize 100 (ou maior se precisar de várias colunas)
set pagesize 10000
set feedback off

Dê uma pesquisada e veja o que pode te ajudar. Se você tiver um script então, pode chamar o SQL*Plus em modo silencioso (verbose)

sqlplus user/pass@conn @script.sql -v

Boa sorte!
Responder
  • Informação