É 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.