segunda-feira, 23 de janeiro de 2012

Delphi - Acessando o Firebird com o Driver Dbexpress específico(UIB)


            Neste artigo estarei demonstrando como acessar o Firebird junto com seu Driver gratuito específico produzido pela UIB(Unified Interbase).Na realidade com o passar do tempo cada vez mais o Firebird se diferencia do Interbase. E por que não utilizar um próprio driver para o Firebird? Nesta matéria estarei explicando como utilizar este driver e montar um projeto em Delphi 7.
           
Estaremos disponibilizando a DLL dbexpUIBfire15.dll no final deste artigo para o Download.

            Copie a DLL dbexpUIBfire15.dll para a pasta C:\Arquivos de programas\Borland\Delphi7\Bin do Delphi. Após copiar a DLL abra o arquivo dbxdrivers.ini encontrado na pasta "C:\Arquivos de programas\Arquivos comuns\Borland Shared\DBExpress" e iremos realizar algumas alterações neste arquivo. Confira abaixo:

Observação Importante: Para realizar estas alterações feche o Delphi.

[Installed Drivers]
.
.
.
Após esta linha adicione o código abaixo:

UIB FireBird15=1

Em seguida:

[UIB FireBird15]
GetDriverFunc=getSQLDriverINTERBASE
LibraryName=dbexpUIBfire15.dll
VendorLib=fbclient.dll
BlobSize=-1
CommitRetain=False
Database=database.fdb
ErrorResourceFile=
LocaleCode=0000
Password=masterkey
RoleName=RoleName
ServerCharSet=
SQLDialect=3
Interbase TransIsolation=ReadCommited
User_Name=SYSDBA
WaitOnLocks=True

Em seguida clique em salvar e feche este arquivo.Coloque a DLL dbexpUIBfire15.dll na pasta C:\Windows\System32.

Utilizando o UIB

            Iremos montar um exemplo bem simples utilizando o delphi 7 com o Firebird 1.54. Abaixo a instrução SQL para criar nossa tabela:

CREATE TABLE TBCLIENTE (
    COD_CLIENTE   INTEGER NOT NULL,
    NOME_CLIENTE  VARCHAR(40),
    CIDADE        VARCHAR(40));

ALTER TABLE TBCLIENTE ADD CONSTRAINT PK_TBCLIENTE PRIMARY KEY (COD_CLIENTE);


Em seguida abra o Delphi 7, clicando em File/New Application. Coloque no formulário um Sqlconnection e em seguida iremos utilizar nosso Driver criado anteriormente.Veja a Figura 01 abaixo:

            Driver Name: UIB Firebird15
            Connection Name: THECLUB

Figura 01: Criando uma conexão.

Percebam na Figura 02 as configurações de nossa conexão. Na chave DriverName o valor UIB Firebird15.
Figura 02: Propriedades da conexão.

Neste momento iremos criar um cadastro simples, como se estivéssemos utilizando o Driver do Interbase. Coloque no formulário os seguintes componentes:
Sqldataset , DatasetProvider, ClientDataset, Datasource,Dbgrid, Dbnavigator e finalmente um Button. Configure os componentes normalmente ligando suas respectivas propriedades. Veja a figura 03 abaixo:

Figura 03: Cadastro de Cliente.

Configure apenas o button com o seguinte código:

procedure TForm1.Button1Click(Sender: TObject);
begin
 ClientDataSet1.ApplyUpdates(0);
end;

Figura 04: Layout Final.

Pronto, Os senhores estão utilizando o Firebird com seu próprio driver de conexão sem muito esforço. Apenas algumas configurações utilizando a DLL dbexpUIBfire15.dll.

Importante: lembre-se de enviar esta nova DLL para o cliente. Esta DLL pode ser armazenada tanto na mesma pasta do executável quanto na C:\Windows\System32.

Consclusão

            Como já tinha mencionado no início deste artigo, cada vez mais o Firebird se diferencia do Interbase. A utilização deste driver específico junto com sua DLL Fbclient garante uma melhor compatibilidade com o Delphi seguida de uma melhor performance.

Nenhum comentário:

Postar um comentário