Gerar arquivos CSV no postgresql

Publicado por Fernando Zank Correa Evangelista 30/01/2006

[ Hits: 11.109 ]

Download bancoCSV.sh




O script conecta no banco de dados e gera uma arquivo  no formato CSV de acordo com a query que é passada para o script.
Segue um manual de uso.

Melhorias, dúvidas e alterações favor entrar em contato pelo mail fernandozank@gmail.com []'s

  



Esconder código-fonte

Manual do script

Selecione uma das opções


1. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD]
2. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD][CARACTER_SUBSTITUICAO]
3. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD][USUARIO][SENHA]
4. Conectar com paramêtros [SCRIPT.SQL][ARQUIVO.CSV][HOST][BASE_DO_BD][CARACTER_SUBSTITUICAO][USUARIO][SENHA]
5. Help
6. Sair do script


onde :

SCRIPT.SQL            Corresponde a um script sql válido para gerar os dados de saída.

ARQUIVO.CSV           Corresponde ao nome do arquivo com a extensão csv.

HOST                  Corresponde ao host do banco de dados.

BASE_DO_BD            Corresponde ao nome da base do banco de dados.

USUARIO               Corresponde ao usuário da base do banco de dados.

SENHA                 Corresponde a senha do usuário no banco de dados.

CARACTER_SUBSTITUICAO Corresponde ao caracter que foi usado na query para substituir o  caracter("), o padrão é caracter (¢)

perguntas do script:

As perguntas variam de acordo com os parâmetros selecionados:
-Perguntas relacionadas ao parametro [SCRIPT.SQL]
#ver detalhes da query usada para gerar os arquivos CSV
    1 -"Digite o nome arquivo com o script sql a ser carregado:"
        corresponde ao script sql usado para gerar os dados, ou seja este script deverá ter uma query sql.

        ex: /home/user/sqls/consulta.sql

    2 -"Seu script sql possui sequencia( Ex: CREATE SEQUENCE ...) ? [s/n]:"
        Digite s se exister seu script sql estiver criando e deletando uma sequencia ou
        Digite n se exister seu script sql não utilizar sequência

# Exemplo de query para gerar arquivos CSV atráves do POSTGRESQL
    esta query sql poderia ser usada no arquivo /home/user/sqls/consulta.sql
___________________________________________________________________________________________________________________________
                    create sequence cod_item start 1;  --criação da sequência
            select
               nextval('cod_item') as cod_item
                    ,trim('"'||translate(m01_descr1,'"' ,'¢'))||'"')  as descricao
                    ,m01_estmin as estoque_minimo
                    ,m01_estmax as estoque_maximo
                    ,m01_pontop as ponto_pedido

            from mater;
            drop sequence cod_item;                --Drop na sequência
___________________________________________________________________________________________________________________________

*verifique que na query acima foi criada uma sequencia e após a query a sequencia foi apagada(ver pergunta 2 ).

|IMPORTANTE|
*para todos os CAMPOS TEXTO é necessário fazer a substituição do caracter " por outro caracter.
     no exemplo acima -> translate(m01_descr1,'"' ,'¢'))
     substituindo todos caracteres(") pelo caracter(¢).
    -utilizado pelo parâmetro [CARACTER_SUBSTITUICAO]
*para todos os CAMPOS TEXTO é necessário concatenar o caracter(") do campo texto e depois do campo também,
devido ao padrao do formato CSV.
    no exemplo acima usamos o '"' || para concatenar -> '"'||translate(m01_descr1,'"' ,'¢'))||'"'

___________________________________________________________________________________________________________________________

-Perguntas relacionadas ao parametro [ARQUIVO]
    1 -"Digite o nome arquivo de saida (arquivo.csv): "
        Este arquivo corresponde ao arquivo de saída do script

        ex: /home/user/CSV/arquivo.csv

-Perguntas relacionadas ao parametro [HOST]
    1 -"Digite o host do banco de dados:"
        Corresponde ao paramêtro -h do BD POSTGRESQL

        ex: 10.27.68.123

-Perguntas relacionadas ao parametro [BASE_DO_BD]

    1 -"Digite a base do banco de dados:"
        Coresponde a base do BD POSTGRESQL

        ex: municipio


-Perguntas relacionadas ao parametro [CARACTER_SUBSTITUICAO]
    1 -"Digite o caractere de substituição utilizado na query:"
        Corresponde ao caracter utilizado na substituição do caracter(") na sua sql, ver arquivo de exemplo de [SCRIPT.SQL]

-Perguntas relacionadas ao parametro [USUARIO]
    1 -"Digite o usuário do banco de dados:"
        Corresponde ao nome do usuário do BD POSTGRESQL
-Perguntas relacionadas ao parametro [SENHA]
    1 -"Digite a senha do banco de dados:"
        Corresponde a senha do usuário do BD POSTGRESQL


#Desenvolvedor Fernando Zank Correa Evangelista
#fernandozank@gmail.com

Scripts recomendados

Firewall de borda corporativo

Cadastro SHELL SCRIPT/MySQL/PHP

Acompanhamento de log squid com hora real

Claro 3G no Ubuntu 8.04

Sysinfo - Informações sobre o seu computador


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts