215 lines
8.9 KiB
Plaintext
215 lines
8.9 KiB
Plaintext
Guia Tinycobol (Gnu) + PostgreSQL
|
|
=====================================
|
|
|
|
Carlucio Lopes <carsanlo@terra.com.br>
|
|
Goiania - Goias - Brasil
|
|
InfoCont Sistemas Integrados - Adaptação para Windows
|
|
Joinville - Santa Catarina - Brasil
|
|
Versao 1.04 - Terca, 04 de Abril de 2006
|
|
|
|
|
|
Resumo
|
|
------
|
|
|
|
Este tutorial tem por objetivo ser uma referencia ao aprendizado no
|
|
Tinycobol em ambiente Windows, utilizando PostgreSQL.
|
|
Duvidas, criticas e sugestoes favor postar para grupo lista
|
|
Clube Cobol em cobol@yahoogrupos.com.br.
|
|
|
|
Nota de Copyright
|
|
-----------------
|
|
|
|
Copyleft (C) 2003 - Carlucio Lopes.
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the GNU Free Documentation License, Version 1.1 or
|
|
any later version published by the Free Software Foundation; A copy of
|
|
the license is included in the section entitled "GNU Free
|
|
Documentation License".
|
|
-----------------------------------------------------------------------------
|
|
|
|
Conteudo
|
|
--------
|
|
1 - O que e' o Tinycobol(TC)
|
|
1.1 - Como compilar no Tinycobol
|
|
2 - Instalando o Postgresql.
|
|
3 - Compilando programa cad01.cob exemplo(TC+Postgresql)
|
|
4 - Duvidas e Sugestoes.
|
|
5 - Apendice
|
|
|
|
------------------------------------------------------------------------------
|
|
1 - O que e' o Tinycobol.
|
|
|
|
O TinyCOBOL e' um compilador COBOL free, criado por um brasileiro
|
|
chamado Rildo Pragana e atualmente esta sendo desenvolvido por uma equipe de
|
|
diversas partes do mundo (Europa/EUA). Por ser um compilador livre, nao e'
|
|
necessario pagar para obter suas versoess. Para garantir a sua liberdade,
|
|
o TinyCOBOL e' licenciado dentro dos termos da GNU ? General Public Licence,
|
|
o que significa que seu codigo fonte e' livremente distribuido e disponivel em
|
|
dominio publico. Suporta padrao ANSI 85.
|
|
|
|
1.1 - Como compilar no Tinycobol.
|
|
|
|
Apos a criacao do arquivo com o programa fonte, com extencao .cob, usa
|
|
o comando htcobol que executa o compilador.
|
|
|
|
Usando: htcobol [opcoes] programa_fonte
|
|
|
|
Opcoes especificas do Compilador:
|
|
-h Mostra ajuda
|
|
-a Cria biblioteca estatica; pre-processa, compila, assembla e arquiva
|
|
-B <modo> modo especifico para aglutinacao (estatica/dinamica)
|
|
-c Compilacao para um modulo de objeto estaticamente linkado
|
|
-E Saida do preprocessador para saida padrao apenas; nao compila,
|
|
assembla ou linka
|
|
-g Gera saida de debug de compilacao
|
|
-l <arquivo> Adiciona biblioteca na linkedicao
|
|
-L <diretorio> Adiciona diretorio ao caminho de procura de bibliotecas
|
|
-m <arquivo> Cria biblioteca dinamica; pre-processa, compila, assembla e li
|
|
-m <arquivo> Cria biblioteca dinamica; pre-processa, compila, assembla e linka
|
|
-n Na~o executa nenhum comando, deve mostrar a compilacao
|
|
-o <arquivo> Especifica nome do executavel (padrao de entrada x extensao)
|
|
-S Preprocessa, compila(gera codigo assembler) somente; nao assembla ou
|
|
linka
|
|
-v Gera saida do compilador verbosa
|
|
-V Mostra informacoes da versao do compilador e sai
|
|
-Wl,<opcoes> Passar opcoes separadas por virgula ao linkeditor
|
|
-x Compilacao para criar um executavel
|
|
-z Gera saida do compilador verbosa
|
|
Opcoes especificas do COBOL:
|
|
-C Faz todas as chamadas dinamicas COBOL
|
|
-D Inclui linhas de debug no fonte
|
|
-F Fonte de entrada esta em formato de coluna fixa padrao
|
|
-I <diretorio> Define inclusao(copybooks) de caminhos de procura. (padrao -I./)
|
|
O caminho pode ser um simples diretorio, ou uma lista de diretorios
|
|
separados por um ':'
|
|
-P Gera arquivo de saida listado
|
|
-T <num> <Expande tabs para um numero de espacos (padrao T=8)
|
|
-X Arquivo de entrada esta em formato livre X/Open (formato padrao)
|
|
|
|
exemplo: htcobol -x -F -P prog_fonte.cob
|
|
o exemplo acima o htcobol ira' compilar, (-x) criar executavel, (-F) programa
|
|
escrito devera estar no formato fixo(obdecendo as colunas 8 e 12) e (-P) gera
|
|
um arquivo de saida de erros e outras informacoes com extensao prog_fonte.lis .
|
|
|
|
|
|
2 - Instalando o Postgresql.
|
|
|
|
2.1 Fazendo download.
|
|
Baixe o Postgresql 8.1 para Windows (roda apenas em Windows XP/2000 - Partição NTFS)
|
|
http://postgresql.org secao download -> Binários para Windows
|
|
|
|
2.2 Descompacte o arquivo postgresql-8.1.x-x.zip em uma pasta.
|
|
|
|
2.3 Execute a instalação através do arquivo postgresql-8.1.msi (Windows Installer)
|
|
Durante a instalação será solicitada uma senha de acesso ao banco. Guarde esta senha, pois
|
|
você terá de usa-la no item 3.3, para configurar os parâmetros de acesso ao banco.
|
|
|
|
2.4 Entendendo o PostgreSQL:
|
|
O processo de instalação criará um grupo de programas chamado PostgreSQL, onde se encontram
|
|
todas as ferramentas de administração e execução do banco de dados.
|
|
Durante a instalação, será criado o banco POSTGRES, que utilizaremos neste tutorial.
|
|
|
|
2.5 Conectando ao banco POSTGRES
|
|
No grupo de programas PostgreSQL existe um atalho denominado "psql para 'postgres'". Esta
|
|
ferramenta é a que iremos utilizar para administrar o Banco de Dados.
|
|
Esta ferramenta abrirá um prompt de comando, onde executaremos as intruções SQL.
|
|
Para sair digite:
|
|
postgres=# \q
|
|
|
|
3 - Compilando programa cad01.cob exemplo(TC+Postgresql).
|
|
Este programa cad01.cob é um exemplo simples de uso do PostgreSQL através do TinyCOBOL.
|
|
Trata-se de um pequeno cadastro de filiais.
|
|
|
|
3.1 compilando e gerando o executável de cad01.cob digite:
|
|
htcobol -vCX cad01.cob
|
|
|
|
nota: Estamos usando a opção X para compilar o programa porque ele esta escrito em free
|
|
format, sem o uso das margens características dos fontes COBOL.
|
|
|
|
Informacoes:
|
|
- O TC suporta acesso a PostgreSQL via call's as API's do PgSQL atraves um
|
|
wrapper(empacotador) criado pelo Rildo. Estas rotinas já se encontram devidamente
|
|
compiladas e presentes no diretório C:\TinyCOBOL\bin.
|
|
|
|
3.2 Manutencao no banco de dados
|
|
3.2.1 O programa cad01.cob faz acesso a uma tabela chamada "filial", que precisaremos cria-la
|
|
antes de executar o programa. Para isso, acesse o programa "psql para 'postgres'" e
|
|
digite as instruções abaixo:
|
|
|
|
create table filial (
|
|
codigo decimal(3,0),
|
|
nome char(50),
|
|
nome_fantasia char(40),
|
|
endereco char(40),
|
|
numero decimal(5,0),
|
|
setor char(25),
|
|
cidade char(25),
|
|
uf char(02),
|
|
cep char(08),
|
|
foneddd char(04),
|
|
fonenum char(08),
|
|
faxddd char(04),
|
|
faxnum char(08),
|
|
cgc char(18),
|
|
insest char(20),
|
|
contato char(40)
|
|
);
|
|
|
|
3.2.2 Se você preferir, as instruções acima poderiam ser gravadas num arquivo texto
|
|
(comando.sql, por exemplo) e poderiamos executa-lo posteriormente através do
|
|
seguinte comando:
|
|
|
|
postgres=# \i c:/tinycobol/tutoriais/postgresql/comando.sql
|
|
3.3 O banco de dados necessita de alguns parâmetros para possibilitar o acesso a mesmo.
|
|
Estes parâmetros são definidos através de variáveis de ambiente, que serão lidas pela
|
|
biblioteca de acesso ao banco (LIBPQ). Estas variáveis já estão preparadas no arquivo
|
|
SETBANCO.BAT, que deverá ser executado antes do programa CAD01. Estas são as variáveis:
|
|
set PGSQL_SERVER=127.0.0.1
|
|
set PGSQL_USER=postgres
|
|
set PGSQL_PASSWD=senha
|
|
A variável PGSQL_SERVER indica o IP do servidor, onde 127.0.0.1 corresponde a localhost,
|
|
ou seja, a máquina atual.
|
|
A variável PGSQL_USER=postgres indica o usuário configurado para acesso ao banco. Altere-a
|
|
se necessário.
|
|
Já a variável PGSQL_PASSWD indica a senha configurada para acesso ao banco. Altere-a para
|
|
a senha informada durante o processo de instalação.
|
|
A configuração destes parâmetros é imprescindível para o correto funcionamento do programa.
|
|
|
|
|
|
3.4 para executar o cadastro de filial digite:
|
|
|
|
cad01
|
|
|
|
Pronto voce tem um programa em Tinycobol+Postgresql, rodando no Windows.
|
|
|
|
4 - Duvidas e Sugestoes.
|
|
Poste suas duvidas e ou sugestoes para a lista abaixo, sendo que o topico devera ser
|
|
enviado para lista adequada.
|
|
|
|
4.1 Tinycobol.
|
|
Lista cobol@yahoogrupos.com.br
|
|
http://br.tinycobol.org
|
|
http://wiki.tinycobol.org
|
|
|
|
4.2 Postgresql
|
|
lista postgresql@yahoo.com.br
|
|
http://www.postgresql.org
|
|
http://www.postgresql.org.br
|
|
|
|
5 - Apendice
|
|
|
|
5.1 Agradecimentos
|
|
|
|
- A DEUS que nos proporcionou o mais complexa CPU(Celebro Humano).
|
|
- Rildo Pragana<rpragana@acm.org> pela iniciativa no desenvolvimento do compilador TinyCOBOL.
|
|
- Hudson Reis<hudsonreis@gmx.net> pela empenho de tornar esta ferramenta produtiva.
|
|
- Fernando Wuthstrack por acreditar e implementar o TC em sua Empresa.
|
|
|
|
10.2 Colaboradores
|
|
- Carlucio Lopes
|
|
- Rildo Pragana
|
|
- Hudson Reis
|
|
- Fernando Wuthstrack
|
|
- Danilo Pacheco Martins
|
|
- Walter Garrote |