Bom dia !
Estou com dúvidas, pois já vi que há várias maneiras de se fazer isso.
Tenho uma query, mas preciso executá-la através de script..
Sendo que o resultado dessa query tem que sair em um diretório pré-definido e em csv.
Se alguém puder me ajudar.
Abraço!
Script de geração de relatório csv
-
- Rank: Programador Júnior
- Mensagens: 27
- Registrado em: Dom, 29 Jan 2012 5:28 pm
- Localização: Rio de Janeiro
--FIZ A SEGUINTE ESTRUTURA, MAS NÃO SEI SE ESTÁ CERTO, ALGUÉM PODERIA DAR UMA OLHADA?
/*A QUERY QUE EU VOU EXECUTAR DENTRO DESSE CURSOR RETORNA + OU - 37000 LINHAS, COM ESSA ESTRUTURA SERÁ QUE ATENDE AO QUE EU QUERO*/
/*A QUERY QUE EU VOU EXECUTAR DENTRO DESSE CURSOR RETORNA + OU - 37000 LINHAS, COM ESSA ESTRUTURA SERÁ QUE ATENDE AO QUE EU QUERO*/
DECLARE
arquivo_saida UTL_File.File_Type;
Cursor Cur_Linha is SELECT **************
from *************
where **********
BEGIN
arquivo_saida := UTL_File.Fopen('p:\diretoria','relatorio_da_base.csv', 'w');
For Reg_Linha in Cur_linha Loop
UTL_File.Put_Line(arquivo_saida, Reg_linha.linha);
End Loop;
UTL_File.Fclose(arquivo_saida);
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(arquivo_saida);
WHEN UTL_FILE.WRITE_ERROR THEN
Dbms_Output.Put_Line('Erro de gravação no arquivo.');
UTL_File.Fclose(arquivo_saida);
WHEN UTL_FILE.INVALID_PATH THEN
Dbms_Output.Put_Line('Diretório inválido.');
UTL_File.Fclose(arquivo_saida);
WHEN UTL_FILE.INVALID_MODE THEN
Dbms_Output.Put_Line('Modo de acesso inválido.');
UTL_File.Fclose(arquivo_saida);
WHEN Others THEN
Dbms_Output.Put_Line('Problemas na geração do arquivo.');
UTL_File.Fclose(arquivo_saida);
END;
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Só uma dica brother,
Não esquece de, no teu processo, apesar do arquivo ser denominado .csv, de colocar o delimitador dentro dele, no caso, uma vírgula entre os campos.
Não esquece de, no teu processo, apesar do arquivo ser denominado .csv, de colocar o delimitador dentro dele, no caso, uma vírgula entre os campos.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 5 visitantes