Exportar Dados ISQL com formatação
Olá pessoal....
Acessei alguns tópicos aqui que foram de extrema ajuda em meu desenvolvimento e realizações.. mas no ponto em questão que vou levantar aqui não encontrei uma fonte de informação que me ajudasse a esclarecer esse problema. Não sou programador mas trabalho com análise de sistema ( focado em implantação de ERP e mapeamento de processos ) e agora passo a encarar a possibilidade de subir o nível.
Meu primeiro desafio é criar um exportador de dados via ISQl que gere esses dados em um arquivo .csv que possa ser importado por outro sistema.
Vamos lá:
1 - Criei um comando simples para realizar um consulta e "puxar" as informações necessárias no banco de dados ( no caso Firebird 2.5 ):
SELECT
sa.FILIAL as COD_FILIAL,
coalesce('R'||SA.ROMANEIO||'', 'NF'||NFE.NOTA||'') as IDVENDA,
SA.TOTAL,
SA.DATA,
replace(replace(replace(replace(replace(tg.natureza, "201", 'Crediario'), "101", 'Cartao Credito'), "102", "Cartao Debito"), "0", "Dinheiro"), '1', 'Cheque' ) AS FORMA_DE_PAGAMENTO,
replace(replace(SA.cancelada, 'F','N'), 'T','S') AS CANCELADO
FROM SAIDAS SA
LEFT JOIN NF NFE ON SA.SAIDA=NFE.COD_OPERACAO AND NFE.TIPO_OPERACAO='S'
INNER JOIN condicoes_pgto cdp on sa.condicoes_pgto=cdp.condicoes_pgto
INNER JOIN tipos_pgtos tg on tg.tipo_pgto=cdp.tipo_pgto
WHERE sa.DATA = "Yesterday" AND SA.filial = "2";
COMMIT WORK;
2- Criei um .bat que chama o ISQL, roda o script e exporta para .csv
cd "C:\Program Files\Firebird\Firebird_2_5\bin"
isql "C:\BASE\MILLENIUM" -i "C:\SYS\TESTE\SAIDAS.sql" -u SYSDBA -p masterkey -o "C:\SYS\TESTE\SAIDAS.csv"
3- Preciso que essa informação saia com as colunas da consulta separadas por ; mas não sei como fazer... quando realizo a exportação os dados na .csv os dados saem como se fosse tudo uma coluna só e com enormes espaçamentos entre as linhas.. inviabilizando a importação no outro sistema.
Em um teste exportando para txt veja como fica o resultado da consulta:
COD_FILIAL IDVENDA TOTAL DATA FORMA_DE_PAGAMENTO
CANCELADO
============ ============= ======================= =========== =============================================================================== =========
2 NF7419 173.9000000000000 14-DEC-2019 Cartao Credito
Acessei alguns tópicos aqui que foram de extrema ajuda em meu desenvolvimento e realizações.. mas no ponto em questão que vou levantar aqui não encontrei uma fonte de informação que me ajudasse a esclarecer esse problema. Não sou programador mas trabalho com análise de sistema ( focado em implantação de ERP e mapeamento de processos ) e agora passo a encarar a possibilidade de subir o nível.
Meu primeiro desafio é criar um exportador de dados via ISQl que gere esses dados em um arquivo .csv que possa ser importado por outro sistema.
Vamos lá:
1 - Criei um comando simples para realizar um consulta e "puxar" as informações necessárias no banco de dados ( no caso Firebird 2.5 ):
SELECT
sa.FILIAL as COD_FILIAL,
coalesce('R'||SA.ROMANEIO||'', 'NF'||NFE.NOTA||'') as IDVENDA,
SA.TOTAL,
SA.DATA,
replace(replace(replace(replace(replace(tg.natureza, "201", 'Crediario'), "101", 'Cartao Credito'), "102", "Cartao Debito"), "0", "Dinheiro"), '1', 'Cheque' ) AS FORMA_DE_PAGAMENTO,
replace(replace(SA.cancelada, 'F','N'), 'T','S') AS CANCELADO
FROM SAIDAS SA
LEFT JOIN NF NFE ON SA.SAIDA=NFE.COD_OPERACAO AND NFE.TIPO_OPERACAO='S'
INNER JOIN condicoes_pgto cdp on sa.condicoes_pgto=cdp.condicoes_pgto
INNER JOIN tipos_pgtos tg on tg.tipo_pgto=cdp.tipo_pgto
WHERE sa.DATA = "Yesterday" AND SA.filial = "2";
COMMIT WORK;
2- Criei um .bat que chama o ISQL, roda o script e exporta para .csv
cd "C:\Program Files\Firebird\Firebird_2_5\bin"
isql "C:\BASE\MILLENIUM" -i "C:\SYS\TESTE\SAIDAS.sql" -u SYSDBA -p masterkey -o "C:\SYS\TESTE\SAIDAS.csv"
3- Preciso que essa informação saia com as colunas da consulta separadas por ; mas não sei como fazer... quando realizo a exportação os dados na .csv os dados saem como se fosse tudo uma coluna só e com enormes espaçamentos entre as linhas.. inviabilizando a importação no outro sistema.
Em um teste exportando para txt veja como fica o resultado da consulta:
COD_FILIAL IDVENDA TOTAL DATA FORMA_DE_PAGAMENTO
CANCELADO
============ ============= ======================= =========== =============================================================================== =========
2 NF7419 173.9000000000000 14-DEC-2019 Cartao Credito
Rodrigo
Curtidas 0