VB.NET 2005 - Conexão com o
FireBird Embarcado (Embedded)
Você já pode efetuar a conexão com o FireBird usando o VB 2005 usando o provedor para a plataforma .NET 2.0. Este artigo mostra como fazer isto.
Você deve ter instalados os seguintes recursos:
Vejam em meu artigo VB.NET - Acessando o FireBird. como obter e instalar o FireBird 1.5 e como criar um banco de dados usando o IBExpert. Veja também os seguintes artigos envolvendo o FireBird:
O item mais importante para poder acessar o
FireBird com o VB 2005 e instalar o provedor FireBird para a plataforma .NET 2.0
- FirebirdClient (ADO.NET Data Provider) :
FirebirdClient 2.0.1 for .NET Framework 2.0 [stable] (600 kB)
Após ter todos os componentes instalados vamos incluir os componentes na ToolBox do VB 2005.
1- Abra o VB 2005 e no menu Tools , selecione External Tools
2- Na janela - Choose ToolBox Items - selecione os componentes: FbCommand, FbCommandBuilder, FbConnection e FbAdapter conforme a figura abaixo:
![]() |
A seguir você já pode abrir a ToolBox e visualizar os componentes instalados na guia General:
![]() |
Agora abra o IBExpert e crie um banco de dados chamado MACORATI.FDB e a seguir a tabela CADASTRO conforme a estrutura mostrada a seguir no IBExpert:
![]() |
A seguir crie um novo projeto no VB 2005 chamado conexaoFB e inclua os controles DataGridView e Button no formulário padrão conforme abaixo:
A primeira coisa a fazer é declarar o namespace usado no projeto:
Imports
FirebirdSql.Data.FirebirdClientA próxima etapa e declarar as variáveis para os objetos DataAdapter, DataSet e Connection para o FireBird:
Dim conexaoFB As FbConnectionNo evento Load do formulário vou criar um novo objeto conexão com o FireBird. Estou usando o usuário e a senha padrão do Firebird e o banco de dados que eu criei na pasta d:\teste:
Private
Sub Form1_Load(ByVal
sender As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load conexaoFB = New FbConnection("Server=localhost;User=SYSDBA;Password=masterkey;Database=D:\teste\MACORATI.FDB") End Sub |
Para concluir o código associado ao evento Click do botão de comando onde a conexão é aberta e um objeto DataAdpater é criado.
A seguir preenchemos o dataset com os dados da tabela CADASTRO e exibimos no datagridview:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
da = New FbDataAdapter("Select * from CADASTRO", conexaoFB) Try da.Fill(ds, "Cadastro") dgvFB.DataSource = ds.Tables(0) Catch ex As Exception MsgBox(ex.Message) End Try End Sub |
Executando o projeto teremos:
Simples , fácil e prático. Você tem a sua disposição uma ferramenta RAD excelente e um banco de dados sensacional totalmente grátis....
Agora vamos a novidade: Você sabia que o Firebird dispõe de uma versão embedded (embarcada) ?
O que significa versão embarcada ?
Bem , uma versão embarcada é aquela que você pode empacotar junto com sua aplicação e distribuir sem necessidade posterior de ter que instalar a base de dados. É isso mesmo, o FireBird possui uma versão na qual basta você incluir o arquivo fbembed.dll junto com sua aplicação, distribuir e pronto; o banco de dados já vai junto exatamente como você faz com o Access, com a vantagem de que o FireBird é muito mais do que um servidor de arquivos.
Veja abaixo uma comparação entre o FireBird e o
Access 2000 (Microsoft Jet 4.0) copiada e colada do site:
http://www.dotnetfirebird.org/blog/2005/01/firebird-and-microsoft-jet-feature.html
Feature | Firebird 1.5 | Microsoft Jet 4.0 |
Deployment and Administration | ||
Single database file |
![]() |
![]() |
Embeddable |
![]() |
![]() |
XCOPY data deployment |
![]() |
![]() |
Hot backup (24x7 availability is possible) |
![]() |
![]() |
Can run on Windows 98 |
![]() |
![]() |
Scalability | ||
Database file size limit |
![]() |
![]() |
Multiple concurrent users |
![]() |
![]() |
Engine Features | ||
Transacões |
![]() |
![]() |
Views |
![]() |
![]() |
Autoincrement fields |
![]() |
![]() |
Stored procedures and triggers |
![]() |
![]() |
BLOB fields |
![]() |
![]() |
Unicode support |
![]() |
![]() |
National character sets support (including sorting) |
![]() |
![]() |
ADO.NET Provider |
![]() |
![]() |
Licensing | ||
Open-source license |
![]() |
![]() |
License allows use in commercial applications |
![]() |
![]() |
Nota:
O banco de
dados Firebird Embedded Server é um cliente com um servidor de banco
de dados completo, carregado dentro de uma biblioteca dinâmica (fbembed.dll).
Este provê os mesmos recursos que a distribuição SuperServer e exporta as
entradas padrão da API do Firebird.(www.firebird.com.br) A seguir alguns detalhes desta versão : - Acesso ao Banco de Dados: Somente "acesso
local" é permitido. O servidor não oferece suporte para protocolos remotos, o
que implica que acessos via "localhost" ou "127.0.0.1" não irão funcionar. |
Nota: Para o ambiente Windows você pode pegar a versão embedded aqui: Embedded Firebird for Windows 1.5.3 [stable] (1.4 MB)
Vou aproveitar o exemplo acima para mostrar como você pode usar o FireBird Embedded com o VB 2005. A única mudança será na string de conexão e a utilização da DLL do FireBird embedded.(fbembed.dll)
Veja abaixo o projeto mostrando o código com as alterações feitas :
![]() |
Você deve efetuar as seguintes alterações:
1- A referência ao provedor FireBird ADO.NET 2.0 deve ser incluída da mesma forma que no primeiro exemplo;
2- Você deve incluir o arquivo fbembedd.dll na pasta \bin\Debug da aplicação;
3- A string de conexão tem que ser alterada para:
cn = New FbConnection("ServerType=1;User=SYSDBA;Password=masterkey;Database=D:\teste\MACORATI.FDB")
onde a declaração ServerType=1 indica que estamos usando o FireBird embarcado.
Nota: (www.firebird.com.br) Uma aplicação para ser "embarcada" precisa ter a seguintes características : - O path do banco de dados deverá ser identificado no componente de acesso como partindo-se do diretório onde se encontra seu aplicativo, por exemplo, · O protocolo de comunicação deverá ser "local" e nunca remota : |
O resto é igual, agora basta rodar o projeto e obter o mesmo resultado que mostramos no exemplo do artigo.
Este artigo é apenas para você 'molhar os pés...' , no futuro iremos nos aprofundar na utilização do FireBird com VB 2005. Aguarde...
Pegue o projeto completo aqui:
conexaoFB.zip
Até o próximo artigo .NET
referências:
1-
http://www.firebase.com.br
2- http://www.firebirdsql.org/
3-
http://www.comunidade-firebird.org/cflp/html_docs/001_FacSheet/Firebird%201_5%20Factsheet.htm
4-
http://www.dotnetfirebird.org
5-
http://msdn.microsoft.com/data/default.aspx?pull=/library/en-us/dnadonet/html/genericdacode.asp
Downloads:
Firebird client library, disponível para .NET Framework 2.0, .NET Compact Framework 2.0 e Mono 1.1.18+.
José Carlos Macoratti