VB.NET - Conexão com o FireBird
Continuando a nossa saga de realizar conexões com os mais diversos banco de dados na plataforma .NET vou mostrar como acessar o FireBird 1.5 usando o provedor FireBird .NET Proviider.
Não é a primeira vez que eu trato do FireBird , para saber mais sobre o assunto leia os artigos :
Dois sites com visita obrigatória para quem pretende saber mais sobre o FireBird são:
http://www.comunidade-firebird.org/ (português)
Para acompanhar este artigo você vai precisar ter instalado :
1- O FireBird 1.5 - que você pode baixar no seguinte link: firebird-win32
2- O provedor FireBird .NET Provider - que você pode pegar e instalar indo para este endereço : FireBird .NET Provider
3- Uma ferramenta com interface gráfica para administrar o FireBird - Vou usar o IBExpert que você baixa no link: IB Expert Personal Edition
Seria bom você ter alguma noção de como o FireBird funciona. Existe uma documentação em português que você pode acessar no link : FireBird_portugueses.pdf
Estando com os itens acima instalados você pode prosseguir com o a criação do banco de dados e da tabela que será usada no exemplo do artigo.
Criando o banco de dados e a tabela no FireBird
Ao usar o IB Expert devemos criar e em seguida registrar o banco de dados para que ele possa ser reconhecido pela ferramenta. Para criar um banco de dados , abra o IB Expert e clique no Menu em DataBase opção Create DataBase. A janela de diálogo Create Database irá surgir , preencha os dados conforme abaixo para criar o banco de dados Cadastro.gdb na pasta d:\teste:
Indique as
opções conforme a figura ao lado: Server : Informe Local DataBase : o nome e localização do banco de dados a ser criado UserName : informe SYSDBA Password : informe masterkey SQL : Informe Dialect 3 nota : a extensão .gdb indica um arquivo no formato Interbase ; a extensão .fdb indica o formato FireBird. |
Ao clicar no botão OK a janela para registrar o banco de dados vai se abrir automaticamente (veja figura abaixo). Preencha-a com os dados conforme figura a seguir:
Informe a versão
do Server : FireBird 1.5 Database Alias -> Informe cadastro e clique no botão : Register |
Após ter registrado o Banco de dados Cadastro selecione o seu nome que aparece no painel a esquerda; os objetos do banco de dados serão exibidos ; e a seguir clique com o botão direito do mouse sobre o objeto Table ; escolha New Table para poder criar uma nova tabela chamada clientes no banco de dados cadastro:
Na janela
Table basta informar o nome da tabela na caixa
NEW_TABLE Para cada campo a ser incluído clique no ícone Add Field do menu e preencha com os dados para o campo desejado. |
Abaixo temos a janela TABLE preenchida para criar a tabela clientes com as definições de campos:
A estrutura da
tabela clientes é a seguinte : codigo - chave primária - Inteiro - auto incremental Nome - varchar(40) Endereco - varchar(50) Telefone - varchar(20) Email - varchar(100) Obs: Para mais detalhes sobre a operação do programa leia o manual |
Agora clique na opção Compile do menu e será gerada a tabela e com a chave primária e com o campo auto-incremento conforme abaixo.
Perceba que foi criado um trigger para a chave primária. Isto é feito quando você estiver definindo o campo da tabela na opção Auto Inc na Aba Generetor opção - Create Generator e na Aba Trigger opção Create Trigger
|
Para encerrar clique em Commit e pronto nossa tabela Clientes estará criada e pronto para ser usada.
Nota: Se você instalar o FireBird como um serviço do Windows e não quiser que ele seja iniciado toda vez que o Windows iniciar pode definir isto durante a instalação.
Para iniciar o serviço do FireBird clique em Iniciar -> Executar e digite services.msc e na janela - Serviços(local) - selecione o nome do serviço, clique duas vezes sobre o mesmo e a seguir clique no botão Iniciar , conforme figura abaixo:
Agora que já está tudo pronto , inclua alguns registros usando o IBExpert e verifique se esta tudo OK. Para o exemplo deste artigo inclui alguns registros na tabela clientes e usando o IBExpert acessei o banco de dados e a tabela conforme a figura abaixo:
Acessando o FireBird via VB.NET
Finalmente chegamos ao objetivo deste artigo : Criar uma aplicação VB.NET que acesse os dados da tabela Clientes do banco de dados Cadastro.gdb.
Inicie um novo projeto chamado conFireBird no VS.NET do tipo Windows Application usando a linguagem VB.NET. e no formulário padrão altere o nome de form1.vb para frmFB.vb.
A seguir inclua o componente ListBox (lstbFB) e um botão de comando (btnFB) no formulário:
Vamos agora fazer a referência ao provedor FireBird .NET Provider que você já instalou. Clique com o botão direito do mouse sobre o nome do projeto e selecione a opção Add Reference.
Na janela Add Reference localize o componente Firebird .NET Provider , clique em Select e a seguir em OK.
Feito isto podemos criar o código que irá fazer o serviço.
Vou acessar a tabela clientes do banco de dados cadastro.gdb usando um datareader e exibir os dados no ListBox.
Como você verá no código a sintaxe é idêntica a qualquer acesso usando o DataReader
A primeira coisa a fazer é declarar o import para o provedor :
Imports
FirebirdSql.Data.FirebirdA seguir no evento Click do botão de comando insira o código abaixo:
Private Sub btnFB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFB.Click'declara a variavel da string de conexão Dim conFB As String'define a string de conexão usando o usuário e senha padrão conFB = "User=SYSDBA;Password=masterkey;Database=d:\teste\cadastro.gdb;DataSource=localhost;Port=3050;Dialect=3;"
connection.Open()
lstbFB.Items.Clear()
lstbFB.Items.Add(reader.GetInt16(0) & " - " & reader.GetString(1) & " - " & reader.GetString(2)) End While
reader.Close() 'fecha a conexao connection.Close()
|
As linhas destacadas no código são as linhas relacionadas com o FireBird e já estão comentadas.
Observe que na string de conexão eu estou usando o usuário e chave padrão para o FireBird (SYSDBA e masterkey) , você pode e deve alterar estes valores em uma aplicação de produção.
Executando a aplicação teremos:
Isto é o arroz com feijão do assunto , existe muito mais possibilidades e algumas limitações que irei abordar em outro artigo.
Sugiro que você leia a documentação do Provedor para maiores detalhes se desejar ir mais fundo no assunto.
Pegue o código completo aqui : conFireBird.zip
Até breve...
José Carlos Macoratti