 VB.NET 2005 - Conexão com o 
FireBird Embarcado (Embedded)
     
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)
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:
| PrivateSub 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 TryEnd 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 |  Details... |  | 
| XCOPY data deployment |  Details... |  | 
| Hot backup (24x7 availability is possible) |  |  | 
| Can run on Windows 98 |  |  | 
| Scalability | ||
| Database file size limit |  Unlimited* |  2 GB | 
| Multiple concurrent users |  |  It doesn't scale | 
| Engine Features | ||
| Transacões |  |  | 
| Views |  |  | 
| Autoincrement fields |  |  | 
| Stored procedures and triggers |  |  | 
| BLOB fields |  |  | 
| Unicode support |  |  | 
| National character sets support (including sorting) |  |  | 
| ADO.NET Provider |  |  (OLEDB) | 
| Licensing | ||
| Open-source license |  Details... |  | 
| License allows use in commercial applications |  Details... |  | 
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
 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