Gerar arquivos CSV no postgresql

Publicado por Fernando Zank Correa Evangelista 30/01/2006

[ Hits: 11.126 ]

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

Gerenciar usuários com dialog

Script para balanceamento de link's de internet

Firewall de borda corporativo

POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - FILTRO PARA CMAMAR O CLAMAV DIRETAMENTE DO POSTFIX

Menu para servidor LDAP


  

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