Criando uma aplicação em shell script integrada com o Interbase/Firebird

Neste tutorial iremos criar um aplicação de cadastro de cliente usando shell script com uma base de dados Interbase/Firebird.

[ Hits: 53.836 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 10/02/2004 | Blog: http://assuntonerd.com.br


Criando a aplicação



Antes de explicar o conceito/funcionamento, vamos criar os arquivos secundários.

Vamos primeiro criar o arquivo sql01, cujo conteúdo é um comando SQL para localizar o maior código cadastrado:

SELECT "*" || MAX(CODIGO) FROM TAB_CLI_001; EXIT;

O próximo arquivo a ser criado é o execsql01, que simplesmente executa a linha SQL do arquivo sql01:

isql /rede/servdad/BCO.GDB -u SYSDBA -p masterkey -i sql01 | grep '*' | cut -c2-

A aplicação em shell script


Crie um arquivo chamado cadcli com o seguinte conteúdo e sem a numeração de linhas (ressalto que todos estes arquivos se encontram no link mencionado no início do tutorial):

1:mCODI=`./execsql01`
2:mCODI=`expr $mCODI + 1`
3:
4:while [ $mCODI -gt 0 ]
5:do
6:   clear
7:
8:   tput sgr0
9:   tput cup 23 0 ; echo "MSG:....................................."
10:   tput cup 17 1 ; echo "------------------- Informacoes do ultimo cadastro efetuado. ------------------"
11:   tput cup 19 1 ; echo "CODIGO..: $mCODI"
12:   tput cup 21 1 ; echo "NOME....: $mNOME"
13:
14:   mRESP="S"
15:   mNOME="........................................"
16:   mENDE="........................................"
17:   mBAIR="........................."
18:   mTELE="........................................"
19:   mFON1="..............."
20:   mFON2="..............."
21:   mFAXS="..............."
22:
23:   tput cup 0 0 ;echo "NETI TECNOLOGIA - Cadastro de Cliente - `date`"
24:   tput cup 1 0 ; echo "=============================================="
25:   tput cup 3 1 ; echo "CODIGO..:             Sugerido:($mCODI)"
26:   tput cup 5 1 ; echo "NOME....: $mNOME"
27:   tput cup 7 1 ; echo "ENDERECO: $mENDE"
28:   tput cup 9 1 ; echo "BAIRRO..: $mBAIR"
29:   tput cup 11 1 ; echo "TELEFONE: $mTELE"
30:   tput cup 12 9  ;  echo ": $mFON1"
31:   tput cup 13 9  ;  echo ": $mFON2"
32:   tput cup 15 1 ; echo "FAX.....: $mFAXS"
33:
34:   tput bold
35:   tput cup  3 11 ; read mCODI
36:   if [  $mCODI = "FIM" ]
37:   then
38:      exit
39:   fi
40:   tput cup  5 11 ; read mNOME
41:   tput cup  7 11 ; read mENDE
42:   tput cup  9 11 ; read mBAIR
43:   tput cup 11 11 ; read mTELE
44:   tput cup 12 11 ; read mFON1
45:   tput cup 13 11 ; read mFON2
46:   tput cup 15 11 ; read mFAXS
47:  
48:   tput cup 23 4 ; echo -e "CONFIRMA A OPERACAO? \c"  
49:   read mRESP
50:
51:   tput sgr0
52:   if [ $mRESP = S  ]
53:   then
54:      echo "INSERT INTO TAB_CLI_001 VALUES ($mCODI,'$mNOME','$mFON1','$mFON2','$mFAXS','$mTELE','$mBAIR','$mENDE');" | isql /rede/servdad/BCO.GDB -u SYSDBA -p masterkey > /dev/null
55:      mCODI=`expr $mCODI + 1`
56:   fi
57:done

Salve este arquivo com o nome cadcli e dê permissões de execução para o mesmo:

# chmod 770 cadcli

Agora para executá-lo basta digitar:

# ./cadcli

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Criando o banco de dados
   3. Criando a aplicação
   4. Entendendo o código em shell
Outros artigos deste autor

IBM Omni Find Yahoo: Um mecanismo de busca corporativa em seu servidor

Como instalar Microsoft SQL SERVER no openSUSE Linux

jKiwi: Simulando pintura de cabelo e novo visual com Software Livre

RealBasic 2005: Um Visual Basic multi-plataforma!

Como tornar-se um membro da comunidade Linux

Leitura recomendada

Coletando informações direto do FIREBIRD via D.O.S. ou SHELL

Apresentando o FenixSQL - Ferramenta de Banco de Dados para Interbase / Firebird

Firebird, fazendo valer o lado do servidor

Instalando o Firebird 2.5 e gerenciando com o Flamerobin

Criando um banco de dados no Flamerobin (Firebird)

  
Comentários
[1] Comentário enviado por @l3x@ndr3 f3rn@n em 14/02/2004 - 11:49h

como eu faso para acessar o servudor novell como cliente e derubar ele?

[2] Comentário enviado por polterboy em 12/09/2004 - 14:05h

como eu poderia fazer para enviar vias para ficar uma comigo e outra com o cliente, sendo que por exemplo imprima em uma folha duas vezes para destacá-la ao meio?

[3] Comentário enviado por icekill em 20/03/2005 - 15:13h

Legal, eu ja havia feito isso em mysql com cadastro, consulta etc... tudo em shell script.

Em shell script vai a dica quem for fazer pesquisa de dados use o mysqladmin e informe para soltar dados tabulares assim vc pode fazer a separação dos dados que vc precisar com grep e cut como eu fiz aqui.

T+

[4] Comentário enviado por alfameck em 29/01/2009 - 20:51h

bem interessante esse topico.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts