VB 6 - Conectando com o Interbase


Neste artigo eu vou mostrar como realizar uma conexão com o Interbase. O Interbase é uma opção alternativa aos banco de dados tradicionais como Access ou SQL Server ; e , tem uma grande vantagem : é GRÁTIS e é OpenSource. O Interbase é um banco de dados Cliente/Servidor da Borland , roda no Windows , no Linux , Unix ,etc. e em outras plataformas além de não ser 'pesado' é relativamente rápido e suporta bancos de dados de grande tamanho ( maiores que 2 Gigabytes).

Dentre as vantagens do Interbase podemos resumir as principais :

 1. É aberto - (Open Source)
 2. É pequeno e rápido
 3. É fácil de distribuir
 4. Trabalha com ADO e ODBC
 5. É multiplataforma (Windows/Linus/Unix...)
 6. Suporta campos Memos e Imagens
 7. Suporta Stored Procedures e Triggers
 8. Suporta Arrays (you can store Arrays in individual fields)

A primeira coisa a fazer é obter uma cópia do Interbase. Acesse o link abaixo e faça o Download da versão Cliente e/ou da Versão Servidor :

http://www.borland.com/devsupport/interbase/opensource/

ou  http://www.ibphoenix.com/ibp_download.html (firebird)

Você deve fazer o download para versão Windows da versão 6.01 dos seguintes arquivos :

  1 -  InterBase_WI-V6.0.1 - client.zip - Versão cliente
Tamanho - 3,46 MB
  2 -  InterBase_WI-V6.0.1 - server.zip  - Versão Cliente e Servidor   
Tamanho - 4,85 MB

Roteiro para realizar a instalação do Interbase

  1. Após fazer o download , descompacte o arquivo - InterBase_WI-V6.01.zip para um diretório temporário
  2. Execute o setup.exe de dentro desta pasta
  3. Na primeira tela selecione a opção NEXT
  4. Indique como local para instalar o Interbase e os componentes
  5. Confirme as telas seguintes sem alterar nada e aguarde o final da instalação 
- Tela inicial para a Instação do Interbase 6.01
- Selecione os componentes para instalar e o local da instalação

- A seguir confirme as telas seguintes e o Interbase será instalado na sua máquina

A versão Server do Interbase vem com um driver ODBC que você poderá usar para realizar a conexão com o banco de dados , mas , vamos usar um provedor OLE DB para utilizar com ADO em nossa aplicação Visual Basic. Existem alguns provedores OLE DB disponíveis para o Interbase , vou citar dois :

1 - IBProvider - http://www.lcpi.lipetsk.ru/prog/eng/index.html (versão p/avaliação-30 dias)

2 - IB OLEDB 1.0 - http://www.oledb.net/?Page=FAQ ( versão GRÁTIS )

3 - SIBProvider - www.sibprovider.com/pt_br/downloads.asp (versão shareware - uso pessoal)

4 - Links para outros sites - http://www.interbase2000.org/tools_conn.htm

Após você instalar o Interbase e o(s) provedore(s) OLE DB poderá verificar se o mesmo esta funcionando corretamente. No menu Iniciar-Programas-Interbase ative a opção IBConsole. (figura ao lado)
A tela de Loing do sistema vai surgir como na figura ao lado.

Informe o usuário e a senha padrão para o servidor local:

O Interbase vem com um banco de dados de exemplo chamado : Employee.gdb

- O usuário padrão é : SYSDBA

- A senha padrão é : masterkey

-Após o login você tem acesso aos banco de dados do sistema.

-Ao lado exibimos as tabelas do banco de dados employee.gdb

-Perceba que o banco de dados possui Views, Stored Procedures , Blob Filters , etc..

Para maiores informações veja a documentação completa do Interbase 6.01 no Super CD Visual Basic

-Clicando na tabela CUSTOMER podemos ver as propriedades da mesma como na figura ao lado

-Aqui visualizamos a estrutura e temos acesso a outras informações e aos dados

- Ao lado exibimos os dados da tabela CUSTOMER do banco de dados employee.gdb

Você pode criar banco de dados , tabelas , atribuir permissões e muitas outras coisas. Se você quiser se aprofundar no Interbase deve ler a documentação que vem junto com os arquivos. (Os arquivos de instalação os provedores OLEDB e a documentação estão completos no SUPER CD VB.) Meu objetivo principal e realizar a conexão usando os provedores OLE DB.

Conectando com o Interbase

Agora vamos mostrar como criar uma conexão com o Interbase usando o Visual Basic com ADO via provedores OLE DB. Vou fazer uma conexão com o banco de dados employee.gdb e acessar alguns dados da tabela CUSTOMER. No meu exemplo o banco de dados esta no diretório c:\teste. Vamos lá...

1- Inicie um novo projeto no VB e no formulário padrão insira os controles conforme o layout abaixo:

- Um controle Frame - frame1

- Três controles Label e TextoBox - text1, text2 e text3

- Três botões de comando - command1 , command2 e command3

2- Faça referência no projeto a biblioteca - Microsoft ActiveX Data Object 2.X ( 2.5 ou superior ) Library

3- Na seção General Declarations vamos declarar a variável objeto - adoConn e rst

Dim adoConn As New ADODB.Connection
Dim rst As New ADODB.Recordset

4- No evento Load do formulário vamos fazer a conexão com o banco de dados. Eu vou mostrar a conexão com cada um dos provedores OLE DB , embora tenha usado testado realmente somente o SIBProvider. Cabe a você ler a documentação dos demais se optar por usar outro provedor:

Private Sub Form_Load()
'
conexão com o IBProvider
'adoConn.Open "provider=LCPI.IBProvider;data source=C:\teste\Employee.gdb;ctype=win1251;user
'id=sysdba;password=masterkey"
'conexão com o SIBProvider
adoConn.Open "provider=sibprovider;data source=c:\teste\employee.gdb", "sysdba", "masterkey"
'
conexão com o IbOleDb Provider
'adoConn.Open "Provider=IbOleDb;Data Source=c:\teste\employee.gdb", "sysdba", "masterkey"

End Sub

OBS : As conexões na cor verde estão desabilitadas , somente a linha com a cor azul mostra o código ativo. Você pode habilitar cada uma das conexões , individualmente é claro...

5- Quando o usuário clicar no botão - Exibir dados Interbase - o código do evento Click do botão de comando - command1 será acionado . Veja o código abaixo:

Private Sub Command1_Click()

rst.Source = "SELECT CUSTOMER.CONTACT_FIRST, " & _
"CUSTOMER.CONTACT_LAST, CUSTOMER.COUNTRY FROM CUSTOMER"

rst.ActiveConnection = adoConn
rst.Open
exibe_dados
Command1.Enabled = False

End Sub
- Vou exibir os campos : CONTACT_FIRST , CONTACT_LAST E COUNTRY

- A procedure Exibe_Dados mostra os registros nas caixas de texto

5- O código da procedure Exibe_Dados é dado a seguir :

Private Sub exibe_dados()
  Text1.Text = "" & rst(0) 'CONTACT_FIRST primeiro nome 
  Text2.Text = "" & rst(1) 'CONTACT_LAST sobrenome
  Text3.Text = "" & rst(2) 'COUNTRY 
  lblregistro.Caption = "Reg. : " & rst.AbsolutePosition & " / " & rst.RecordCount
End Sub

6- O codigo dos botões - << e >> são exibidos abaixo. Neles usamos as propriedades Movenext e Moveprevious do recordset para permitir a movimentação pelo recordset. (Alguns provedores OLE DB não suportam as propriedades : AddNew , MovePrevious, etc.. Leia a documentação )

Código do botão : << 
Move-se para o registro anterior
Private Sub Command3_Click()
rst.MovePrevious
If Not rst.BOF Then
  exibe_dados
Else
  rst.MoveFirst
End If
End Sub
Código do botão : >>
Move-se para o próximo registro
Private Sub Command2_Click()
rst.MoveNext
If Not rst.EOF Then
  exibe_dados
Else
  rst.MoveLast
End If
End Sub

Ao executar(F5) o projeto e clicar no botão - Exibir Dados Interbase - a conexão será feita , o banco de dados employee.gdb será aberto e os registros da tabela CUSTOMER serão exibidos nas caixas de texto :

Obs: Atenção !!! embora gratuíto , dependendo da versão , o Interbase suporta no máximo até cinco usuários .

Para realizar uma conexão usando DAO , você vai precisar usar uma conexão ODBC e portanto vai precisar de um driver ODBC instalado. No super cd VB você encontra provedores OLEDDB e um driver ODBC para usar.

Gostou !!! Até o próximo artigo...


José Carlos Macoratti