- Gerar link
- X
- Outros aplicativos
- Gerar link
- X
- Outros aplicativos
Lazarus - Aplicação embarcada com Firebird e ZeosLib
Uma aplicação embarcada, ou embutida, com Firebird é uma aplicação que não necessita do servidor de banco de dados para executar. É uma solução excelente para criar demos de programas, criar um catálogo de produtos em CD, entre outras aplicações. Resumidamente, o motor do Firebird embedded está em uma dll.A versão embedded do Firebird executa apenas em modo local, não reconhecendo nem mesmo localhost. Ela ignora qualquer instância do Firebird executando na mesma máquina. Procure usar sempre o usuário SYSDBA para a conexão com o banco. Como não existe a figura de um servidor de banco de dados, você poder rodar quantas aplicações forem necessárias. Cada uma será uma instância diferente. Tudo depende da memória da máquina.
Instalação do Firebird
O primeiro passo consiste em fazer o download da versão embarcada do Firebird. Escolha a versão e a plataforma desejada em https://www.firebirdsql.org/index.php?op=files. Vamos mostrar aqui apenas o procedimento para o ambiente Windows. Você deve baixar a versão embedded. Por exemplo, se optar pela versão 2.1.3, você pode baixar este zip. Depois disso, crie um diretório (p.ex. C:\MeuPrograma) onde ficará sua aplicação e descompacte o zip que você baixou dentro dele. Esse diretório será o home do Firebird embutido. O banco de dados deve ficar nesse mesmo diretório. Em seguida faça o seguinte:
1) Edite o arquivo firebird.conf e modifique a seguinte linha para ficar assim:
RootDirectory = C:\MeuPrograma
2) Altere o nome do arquivo fbembed.dll para fbclient.dll, se você for usar o ZeosLib. Se for usar o SQLdb, renomeie para gds32.dll.
Se sua aplicação utilizar UDFs, copie-as para o diretório UDF. Collates e charsets devem ser copiados para o diretório INTL.
Conectando ao banco de dados com ZeosLib
Coloque um TZConnection no Data Module. Defina as seguintes propriedades assim:
Database - informe apenas o nome do arquivo do banco de dados.
HostName - deixe em branco.
Name - dbEmbutido, por exemplo.
Password - masterkey.
Protocol - firebird-2.0.
User - sysdba.
Não tente conectar ao banco em tempo de desenvolvimento. Não irá conectar. Escreva o seguinte código no evento OnCreate do Data Module:
dbEmbutido.Connect;
Os outros procedimentos são exatamente os mesmos de uma conexão normal como mostramos em Lazarus - Conectando Firebird com ZeosLib ou SQLdb. Para construir uma interface leia os posts Lazarus - Acessando banco de dados com SQLdb - Parte I e Parte II.Se preferir usar SQLdb para embarcar sua aplicação siga exatamente o mesmo procedimento do post anterior. Só lembre de renomear fbembed.dll para gds32.dll.
Atualizado em 23/05/2010.
- Gerar link
- X
- Outros aplicativos
Comentários
Como procedo para desenvolver uma aplicação embarcada com Lazarus e Firebird no Ubuntu 9.10?
Obrigado pelas preciosas dicas. Parabéns pelo site.
Eu ainda não consegui também. Veja esses links:
http://www.firebirdfaq.org/Firebird-Embedded-Linux-HOWTO.html
http://www.firebirdsql.org/manual/ufb-cs-embedded.html#ufb-cs-embedded-linux
São dicas para a versão 1.5. Eu estou com a versão 2.1 no Ubuntu. E seguindo esses procedimentos não funciona. Ainda estou procurando mais informações.
Assim que eu conseguir vou publicar um post.
Abraço
grato
sou engenheiro metalurgista e dirijo
uma empresa.
Mas programo em Pascal (hoje Delphi)
h'a mais de 20 anos. Preciso de consultoria em FB-SQL, e gostaria de
discutir consigo como podemos ajustar
isso, em termos de tempo disponivel,
e forma de pagamento.
Alberto Caribe'
acaribe2000@that.com.br
Não consegui enviar e-mail a você. Pode entrar em contato pelo meu e-mail por favor.
Uso o Firebird desde a versão 1.5 mas, até agora, não encontrei uma boa explicação sobre as diferrenças entre as diversas versões do mesmo.
O Sr. teria algum link com estas informações, ou poderia me responder sobre essas diferenças.
Gostaria de saber sobre o CS, o SS e as evoluções numéricas (melhorias/alterações).
Agradeço a atenção.
Aqui http://www.firebirdsql.org/en/release-notes/ tem alguma coisa que pode ser útil.