Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Coletando informações direto do FIREBIRD via D.O.S. ou SHELL
Linux user
cmercaldo
10/10/2007
Neste artigo demonstro como é possível a execução de comandos SQL via D.O.S. ou SHELL SCRIPT diretamente de um banco de dados FIREBIRD. É de grande utilidade quando necessitamos executar remotamente comandos SQL ou para criação de relatórios gravados em arquivos.
Por: Claudio Mercaldo de Almeida
[ Hits: 11793 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Introdução

É possível a execução de comandos SQL via D.O.S. ou SHELL SCRIPT?

Sinceramente nunca ouvi falar... até quando precisei!

A idéia é usarmos scripts que podem rodar no D.O.S. ou no SHELL SCRIPT, realizando tarefas diretamente no banco de dados FIREBIRD.

Assim poderemos mandar apenas um arquivo para o usuário de um banco remoto ou até mesmo executá-lo dentro do servidor de dados.

Vamos iniciar nossa jornada!

Em D.O.S.

01. Para o funcionamento no D.O.S., vamos criar um diretório para verificar as importações realizadas direto no FIREBIRD. Não importa se o FIREBIRD está instalado em ambiente Windows ou Linux. Bom... melhor se for no Linux!

D.O.S. (o início)

C:\> md coleta
C:\> cd \coleta
C:\coleta> edit col_script.bat

rem
rem Script de coleta - Firebird
rem Claudio Mercaldo
rem Versão 1.0

rem *** Diretório de trabalho
C:
CD\COLETA

rem *** Apaga arquivos da ultima coleta
DEL FORNECEDOR.TXT
DEL CLIENTES.TXT

rem *** Diretório do FIREBIRD
cd "C:\arquivos de programas\FirebiRD\Firebird_1_5\bin"

rem *** Isql direto no banco - Tabela fornecedor
isql "10.1.1.10:/databases/DADOS.GBD" -i "C:\COLETA\select_FORNECEDOR.sql" -o "C:\COLETA\FORNECEDOR.TXT" -u sysdba -p masterkey -page 1000000

rem *** Isql direto no banco - Tabela clientes
isql "10.1.1.10:/databases/DADOS.GBD" -i "C:\COLETA\select_CLIENTES.sql" -o "C:\COLETA\CLIENTES.TXT" -u sysdba -p masterkey -page 1000000


rem *** Volta para o diretório de coleta
C:
CD\COLETA
DIR

rem

02. O script de coleta já esta pronto, mas agora temos que criar os arquivos que serão responsáveis pela coleta das informações.

C:\coleta> edit select_FORNECEDOR.sql

select * from fornecedor;

No outro digite:

C:\coleta> edit select_CLIENTES.sql

select * from clientes;

03. Lembrando que nestes arquivos será possível executar praticamente todos os comandos sql do Firebird (select, update, insert, alter table, etc). Muito útil!

AVISO: Ao tentar criar os arquivos (.sql) no Windows tive problemas na formatação do arquivo e simplesmente não executava nada. Crie o primeiro arquivo no D.O.S. e depois crie cópias de acordo com a sua necessidade. Ex. com o D.O.S. (Iniciar --> executar --> cmd)

Microsoft Windows XP [versão 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS> cd \coleta
C:\coleta> copy con select_FORNECEDOR.sql

select * from fornecedor;
^Z
1 arquivo(s) copiado(s).

C:\coleta>

04. Agora basta executar. Lembre-se que estou usando o usuário padrão do FIREBIRD (sysdba, masterkey), talvez no seu caso seja necessário alterar no script.

C:\coleta> col_script

*** Verifique se os arquivos foram gerados no diretório de coleta.

Próxima página >>




Páginas do artigo
   1. Introdução
   2. Em Shell Script
   3. Diferenças - D.O.S. x Shell script

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por carlosands em 16/10/2007 - 13:15h:

Parabéns Chf. otimo artigo.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.