DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

dbExpress para Firebird

Veja neste artigo de Luciano Pimenta, como acessar o Firebird com o driver dbExpress especifico.

Saiba como acessar o FB com o driver dbExpress especifico

Já recebi muitos e-mails de leitores perguntando sobre a compatibilidade do dbExpress para acesso ao Firebird. Esta cada vez mais incompatível usar o driver do InterBase para acesso ao Firebird com dbExpress. Mas calma, você que gosta do dbExpress, assim como eu, não precisa ficar preocupado, pois existe um driver dbExpress especifico para Firebird.

Unified InterBase

O UIB (Unified InterBase) que produzia somente componentes de acesso a dados, agora possui um driver free para acesso a tecnologia dbExpress para Firebird, InterBase e Yaffil. Acesse o site www.progdigy.com para saber mais sobre o produto.

Antigamente, era disponibilizado a DLL e os fontes. Atualmente esta sendo disponibilizado somente os fontes, onde o desenvolvedor deve gerar (compilar) a DLL. Passei bastante trabalho para compilar a DLL, pois é necessário instalar vários pacotes no IDE do Delphi, devido os mesmos serem necessários.

Mas irei disponibilizar para download a DLL (dbexpUIBfire15.dll), ficando assim mais simples o nosso artigo.

Copiando a DLL

Após baixar o arquivo, copie o mesmo para a pasta Bin do diretório de instalação do Delphi. Acesse o diretório: C:\Arquivos de programas\Arquivos comuns\Borland Shared\DBExpress e abra o arquivo dbxdrivers.ini e abaixo da chave Installed Drivers adicione:

 

[Installed Drivers]

...

UIB FireBird15=1

 

Após, adicione o seguinte código, logo abaixo do último driver:

 

[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

 

Agora, salve as alterações e abra o Delphi.

 

Nota: O Delphi deve estar fechado quando editar o arquivo. Se o mesmo estiver aberto, somente na próxima vez que o Delphi for carregado, as alterações serão mostradas.

Criando a conexão no Delphi

Para criar a conexão ao novo driver instalado, basta seguir os mesmo passos para conexões anteriores, apenas temos a diferença de escolher o driver UIB FireBird15. Adicione um SQLConnection no formulário e dê um duplo clique para abrir o seu editor.

Clique no botão Add Connection, escolha UIB FireBird15 em Driver Name e digite um nome para a conexão. Clique em OK para criar a conexão com o driver UIB (Figura 1).

 

 dbExpress1.gif

Figura 1. Conexão criada

Pronto, sua conexão com o Firebird, usando um driver dbExpress esta pronta. Agora, basta utilizá-lo normalmente, como trabalhava com o driver para InterBase.

Dicas

·         Lembre-se que você precisa enviar a nova DLL para o cliente. A mesma pode ficar no diretório do executável ou copie para a pasta Windows/System32;

·         Dê preferência em utilizar o fbclient.dll para conexão com o banco;

 

Um grande abraço a todos e até a próxima!





    32 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Araujo Junior
No exemplo esta sendo utilizado o Delphi 7, mas para quem usa o delphi 2005 ou 2006 os arquivos a serem modificados não estão na pasta \Arquivos de Programas\Arquivos Comuns\Borland Shared\dbExpress e sim na pasta : \Arquivos de Programas\Borland\BDS\SUA VERSÃO DO BDS>\dbExpress Espero ter sido util, Junior
[há +1 ano] - Responder

 

Robson R. Souza
Caros amigos, fiz a atualização do arquivo dbxdrivers.ini mas não deu certo. Não entendi a resposta onde pede para alterar os dois arquivos, eu não tenho o dbxdrivers.ini em arquivos comuns\borland shared. Obrigado
[há +1 ano] - Responder
 

Devmedia
Você deve adicionar o código da listagem do artigo, também no dbxconnection.ini.
[há +1 ano] - Responder
 

Cedrick Alves Brandao
Boa tarde, apos seguir todos os passos descritos no artigo, quando tento estabelecer a conexao no delphi esta dando o seguinte erro: Failure to Connect: Unable to find procedure getsqldriverInterbase
[há +1 ano] - Responder

 

Devmedia
Verifique se a DLL esta no System32.
[há +1 ano] - Responder
 

Luiz Fernando Rodrigues De Abreu
Estou recebendo a seguinte mensagem de erro: Failure to connect can´t load library fbclient.dll - sendo que o vendorlib esta como fbclient.dll
[há +1 ano] - Responder

 

Fabiano Góes
Luiz tente colocar em vedorlib o caminho completo da fbclient.dll: C:\Arquivos de programas\Firebird\Firebird_1_5\bin\fbclient.dll
[há +1 ano] - Responder
 

Devmedia - Leitor De Banca
no delphi 2006, se eu colocar o ServerCharset=WIN1252 da um erro como se esse ServerCharset nao existisse, se deixo em branco funciona, por que
[há +1 ano] - Responder

 

Devmedia
Você deve colocar nessa propriedade, o mesmo valor configurado no banco.
[há +1 ano] - Responder
 

Pedro
Minha conexão funcionou perfeitamente, o problema é que está read-only, estou usando firebird2.0 e delphi7 e as tables e querys da paleta dbExpress.. Alguém teve esse problema? pedrodkp@gmail.com
[há +1 ano] - Responder

 

Mario Flavio
Estou com alguns problemas para conectar o delphi 2007 com o firebird 1.5. Gostaria de saber se alguém poderia me ajudar. Obrigado.
[há +1 ano] - Responder

 

Mario Flavio
Fiz todos os procedimentos acima mas quando tento conectar com o TsqlConnection da a seguinte mensagem: Access violation at address 10805819 in module dbexpUIBfire15.dll. Read of address 0000001E. Agradeço pela atenção e aguardo resposta.
[há +1 ano] - Responder
 

Mary Gisele Montes Ferraro
instalei a dbexpuibfire15.dll como esta no artigo e coloquei tambem dbxconnections e na hora de testar a conexão esta dando o seguinte erro: Failure to Connect : Unable to load dbexpuibfire15.dll
[há +1 ano] - Responder

 

Flávio
é só colocar o arquivo dbexpuibfire15.dll na pasta Windows ou WinNT
[há +1 ano] - Responder
 

Mary Gisele Montes Ferraro
mas eu já copiei a dll p/ a pasta system32 do XP
[há +1 ano] - Responder
 

Ricgavira
porque da esse erro quando edito e salvo sem alterar nada: Record Not Found or Changed by Another User obrigado
[há +1 ano] - Responder

 

Luciano Almeida Pimenta
Configure o ProviderFlag do campo chave para fkKey = True.
[há +1 ano] - Responder
 

Cassioat
Existe esse componente para o Firebird 2.0?
[há +1 ano] - Responder

 

Luciano Almeida Pimenta
Ele não é um componente, é um driver para acesso a dados. No curso da Locadora utilizei o mesmo com FB 2.0 e funcionou normalmente.
[há +1 ano] - Responder
 

Eliandrogosch
Luciano, eu utilizo o Delphi 8, e não estou conseguindo fazer a conexão utilizando o driver dbexpUIBfire15.dll, nao tenho a pasta dbexpress dentro do bin, se puder me ajudar. obrigado
[há +1 ano] - Responder

 

Luciano Almeida Pimenta
O Delphi 8 é somente para aplicações .NET.
[há +1 ano] - Responder
 

Eliandrogosch
Eu nao posso criar aplicaçoes win32 no delphi 8, tipo um sistema para desktop....
[há +1 ano] - Responder
 

Luciano Almeida Pimenta
Não, para Win32, use Delphi 7 (ou anteriores), D2005, D2006 ou D2007.
[há +1 ano] - Responder
 

Tiago Z. Tiveron
Olá, Baixei essa dll e funcionou perfeitamente bem, com velocidade muito satisfatória. O único problema é que não funciona quando faz rollback numa transação... :(
[há +1 ano] - Responder

 

Simoesluciano
Tem problema com transação, se durante a transação for feito um SELECT a operação é "comitada" antes de fazer o CommitWork
[há +1 ano] - Responder
 

Marcio Augusto Da Silva Aguiar
Amigo, Fiz tudo como instuiu, mas, tenho um erro de conexão no firebird que diz o seginte: "Unabled to Find Procedure getsqldriverInterbase" mesmo colocando o arquivo dbexpUIBfire15.dll dentro da pasta system32 ainda permanece o problema. Por favor, me diga como corrigir.
[há +1 ano] - Responder

 

Mario Yabiku
Blz Marcio. É isso mesmo. Tem que escrever exatamente como está: getSQLDriverINTERBASE...
[há +1 ano] - Responder
 

Luciano Almeida Pimenta
Devido a mudança de estrutura do dbExpress no Delphi 2007, o driver não funciona nessa versão do Delphi. Estou testando um driver desenvolvido por um brasileiro e assim que estiver estável, publico aula ou artigo sobre o mesmo.
[há +1 ano] - Responder

 

Derocy Junior
Ola Luciano eu sempre acopanho suas video aulas que e show de bola , e estou com um projeto parado por conta do tal do Blob nao funcionar com dbExpress , firebid no Delphi 2007 vc achou algo que possa nos ajudar, pois pelo que vi o uib nao funciona nesta versão.
[há +1 ano] - Responder
 

Luciano Almeida Pimenta
O UIB não funciona no Delphi 2007, pois a estrutura do dbExpress foi totalmente modificada. Você terá de usar outro driver, do Interbase do Delphi 2007 (não recomendado) ou um que esta em fase beta, desenvolvido por um brasileiro.
[há +1 ano] - Responder
 

Fabio Pochopine

Boa noite,


Estou com problemas com o fbclient.dll...
Ele me retornou o seguinte erro no delphi 7 '' can''t load library:fbclient.dll ''
 
Ja tentei fazer o que disseram de colocar o caminho todo no '' Vendor Lib '' e também não deu certo...
Não sei se tem a ver com o meu sistema, creio que não...
Uso windows vista x64
 
 
aguardo respostas...

Abraços!
[há +1 ano] - Responder

 

Javier Jesus Martinez Fariñas
Simplemente copia el arquivo fbclient.dll de a pasta \bin de Firebird a pasta \Windows\System32\

Obrigado.

Javier.-
[há +1 ano] - Responder
 



Publicidade
Autor
Nao Disponivel

colunista nao disponivel




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
12   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03