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
- 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