Tinycobol+Firebird (EmbeddedSQL) ================================ Fernando Wuthstrack Danilo Pacheco Martins Carlucio Lopes Versao 0.02 - Sábado, 27 de maio de 2006 Resumo ------ Este tutorial tem por objetivo ser uma referencia ao aprendizado no Tinycobol com banco de dados Firebird, utilizando o recurso EmbeddedSQL, em ambiente Windows/Linux. Duvidas, criticas e sugestoes favor postar para lista inycobol em cobol@yahoogrupos.com.br O uso do EmbeddedSQL facilita em muito o processo de integracao entre um programa COBOL e o Banco de Dados. O uso do EmbeddedSQL esta disponivel tambem para outros bancos de dados, como o Oracle e o DB2, alem do Firebird. O uso do EmbeddedSQL consiste na digitacao de comandos da linguagem SQL entre os marcadores EXEC SQL e END-EXEC, no proprio fonte COBOL. Nota de Copyright ----------------- Copyleft (C) 2003 - InfoCont Sistemas Integrados Ltda. 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 - Instalando o Firebird. 2 - Compilando programa cad01f.cob exemplo. 3 - Duvidas e Sugestoes. 4 - Apendice ------------------------------------------------------------------------------ 1 - Instalando o Firebird 1.1 Fazendo download. Baixe a versao para Windows do Firebird atraves do site http://firebird.sourceforge.net ou www.firebird.com.br secao Download 1.2 Instale o arquivo baixado, seguindo todas as orientações trazidas na tela. 3 - Compilando programa cad01f.ecob exemplo. Este programa cad01f.ecob eh uma tela para cadastro de filiais. O processo de compilacao de um programa escrito com EmbeddebSQL envolve duas etapas, sendo que a primeira delas eh o pre-processamento pelo aplicativo GPRE, que converte todos os dialogos SQL para chamadas (CALLs) as APIS do Firebird. Para facilitar o processo de compilacao utilize o shell compilabd. Abaixo uma explicacao detalhada do shell script: SET INTERBASE=/opt/interbase SET ISC_USER=SYSDBA SET ISC_PASSWORD=masterkey #=> As linhas acima setam parametros necessarios a execucao de aplicativos # escritos utilizando o Firebird C:\Arquiv~1\firebird\firebird_1_5\bin\gpre -co -d "teste.gdb" %1.ecob #=> A linha acima executa o pre-processamento (substituicao das instrucoes # SQL por comandos COBOL). A opcao -co identifica que sera pre-processado # um fonte COBOL e a opcao -d "teste.gdb" informa ao GPRE qual o banco # que sera acessado pelo programa. Isto se faz necessario para que o # mesmo possa recuperar a estrutura das tabelas que serao utilizadas no # programa. mv %1.ecob.cbl %1.cob #=> Como o GRPE gera um novo arquivo denominado nomefone.ecob.cbl, eh # necessario renomea-lo para permitir a compilacao pelo TinyCobol htcobol -vCX %1.cob #=> Compilacao e linkedicao normal do TinyCobol. 3.1 entre no diretorio /usr/local/tc_firebird digite: #cd /usr/local/tc_firebird 3.2 Usando script 'compilabd' existe o shell script 'compilabd' que esta no diretorio tc_firebird que fara todo o procedimento de compilacao automaticamente. 3.5.1 Use comando abaixo para mudar a permissao para execucao #chmod 755 compilabd 3.5.2 Executando o script 'compilabd' #./compilabd cad01f 3.6 Para verificamos erros de compilacao devemos abrir o arquivo cad01f.lis, que constara os status da compilacao, este arquivo eh gerado visto que colocamos opcao -P para compilarmos. 3.7 Pronto voce tem um programa em Tinycobol+Firebird com EmbeddedSQL. Para executa-lo, digite: #./cad01f 3.8 O Firebird possui uma ferramenta para interpretacao de dialogos SQL com interacao direta com o Banco de Dados, para isto, acesse o programa ISQL: # /opt/interbase/bin/isql Com esta ferramenta voce podera utilizar todos os comandos da linguagem SQL. 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-br@listas.cipsga.org.br 4.2 Linux comandos e outros. lista linuxall@yahoo.com.br 4.3 Firebird lista firebird-br@yahoogrupos.com.br 5 - Apendice 5.1 Agradecimentos - A DEUS que nos proporcionou o mais complexa CPU(Celebro Humano). - Rildo Pragana pela iniciativa no desenvolvimento do compilador free Tinycobol. - Hudson Reis pela empenho de tornar esta ferramenta produtiva. - Ao Carlucio Lopes, que nos autorizou a adaptar o modelo original do PostgreSQL para o Firebird. - Ao Andrew Cameron, que iniciou os testes e constatou que eh possivel o uso do TinyCobol com o Firebird. 5.2 Colaboradores - Fernando Wuthstrack - Danilo Pacheco Martins - Carlucio Lopes - Rildo Pragana - Hudson Reis