Firebird DBX4 Driver
Read the english version
Como resultado de uma experiência com a API do Firebird e a recém lançada API DBX4 para Delphi 2007, criei um driver DBX4 para Firebird. Ele suporta todos os tipos de campos do Firebird.
O driver foi artigo de capa da revista Active Delphi Edição 53.
Neste artigo Thiago Souza mostra um driver que está surgindo com força total, o TBODBXFB. Este driver consiste em um acesso limpo e sem erros ao Firebird para ser utilizado no RAD Studio 2007.
Bom, não tenho certeza a respeito do ’sem erros’, mas continuo corrigindo os erros reportados pelos usuários.
Entre em Contato/Tire Dúvidas
Fórum: groups.google.com/group/tbodbxfb
Email: thborges at gmail
Como Distribuir o Driver
- Adicionar a unit que carrega o driver ao projeto (TBODbxDynalink) ou
- Marcar a opção ‘Build with runtime packages’ e adicionar o pacote TboDbxNative na lista de packages.
- Adicionar a unit que carrega o driver ao projeto (TBODbxDynalink) ou marcar a opção ‘Build with runtime packages’ e adicionar o pacote TboDbxNative na lista de packages.
- Distribuir os arquivos dbxdrivers.ini e dbxconnections.ini da seguinte maneira:
- O arquivo dbxdrivers.ini precisa ser distribuído e deve ter duas seções: [Installed drivers] e [TBODBXFB]. Veja este arquivo pronto para ser distribuído.
- O arquivo dbxconnections.ini pode estar vazio, mas o Framework DBX4 procura por ele.
- Estes arquivos devem estar no diretório do programa ou no caminho definido na chave HKEY_CURRENT_USER\Software\Borland\BDS\5.0\DBExpress\, nas entradas ‘Driver Registry File’ e ‘Connection Registry File’ (Exigência do DBX4).
- 4. Distribuir o arquivo tbodbxfb.dll na pasta do programa ou no path do sistema.
ATENÇÃO! Compatibilidade com Firebird 1.5
A partir da versão 0.6 RC 2 foi preciso usar a função TRIM, para mostrar corretamente os campos/parâmetros nos objetos TSQLDataSet e TSQLStoredProc. A função TRIM está disponível nas versões mais recentes do Firebird (2.0, 2.1), mas não na versão 1.5. É nessário declarar a função TRIM, disponível na instalação padrão do Firebird 1.5. Execute o seguinte comando no banco de dados antes de usar a base com o driver:
DECLARE EXTERNAL FUNCTION trim CSTRING(255) RETURNS CSTRING(255) FREE_IT ENTRY_POINT 'IB_UDF_ltrim' MODULE_NAME 'ib_udf';
Download – Delphi 2010
Leia antes sobre os recursos diferenciais deste driver!
Download
Download – Delphi 2007
- Instalador 0.91 – Release Candidate 5 (Necessário December update. Veja nota acima sobre Firebird 1.5)
- Instalador 0.8 – Release Candidate 4 (Necessário December update. Veja nota acima sobre Firebird 1.5)
- Instalador 0.7 – Release Candidate 3 (Necessário December update. Veja nota acima sobre Firebird 1.5)
- Instalador 0.6 – Release Candidate 2 (Necessário December update. Veja nota acima sobre Firebird 1.5)
- Instalador 0.5 – Release Candidate (Necessário December update)
- Instalador 0.4 – Beta (Necessário December update)
- Instalador 0.3 – Alpha (Necessário December update)
- Instalador 0.2 – Alpha (Necessário December update)
- Instalador 0.1 – Alpha
Adicionar estas linhas em dbxconnections.iniAdicionar estas linhas em dbxdrivers.iniDriver
Download – Delphi 2009
- Instalador 0.9 – Release Candidate 5 (Veja nota acima sobre Firebird 1.5)
- Instalador 0.8 – Release Candidate 4 (Veja nota acima sobre Firebird 1.5)
Correções/Atualizações
- 01/11/2008 – Adição de suporte a UTF8
- 01/11/2008 – Adição de suporte a AutoCommit
- 01/11/2008 – Correção de problema com tamanho de campos (Propriedade size dos TFields)
- 01/11/2008 – Correção de problema com campos requeridos (Propriedade Required dos TFields)
- 01/11/2008 – Correção de erro ‘SQL Error SQL error code = -501 Attempt to reclose a closed cursor’ quando abrindo transações explicitas no código
- 17/09/2008 – Liberada versão para Delphi 2009
- 17/09/2008 – Corrigido problema de Access Violation aleatório com Varchars
- 22/07/2008 – Corrigido problema de gravação em campos ARRAY (Muito obrigado à Sertak Akyuz)
- 21/07/2008 – Corrigido problema de gravação em campos TIME (Muito obrigado à Douglas)
- 21/07/2008 – Corrigido erro “Update affected more than 1 record.” ao atualizar registros (Obrigado a Arthur ACCL)
- 21/07/2008 – Corrigido problema ao usar TSQLStoredProc para executar procedure sem parâmetros ou que não retornam dados
- 08/06/2008 – Corrigido Access Violation ao chamar DBXCommand_GetRowsAffected com comandos DDL (Muito obrigado à Eduardo Tec-Soft)
- 08/06/2008 – Adicionado suporte a TSQLStoredProc (Muito obrigado à John Hodgson)
- 08/06/2008 – Adicionado suporte a TSQLDataSet (Muito obrigado à Pablo Bueno)
- 14/05/2008 – Corrigido Congelamento da IDE com Windows Vista ao abrir conexão (Muito obrigado à Cesar Romero)
- 14/05/2008 – Corrigido Access Violation ao abrir duas conexões, uma com o driver Interbase e outra com o TBODBXFB.
- 14/05/2008 – Corrigido erro ao fechar SQLQuery logo após o Commit de uma Transação. (Sequencia: Close/Open/Commit/Close/Open)
- 04/03/2008 – Corrigido retorno incorreto do tamanho de campo VARCHAR.
- 04/03/2008 – Corrigida a transação Read Commited para usar a opção isc_tbp_nowait ao invés de isc_tbp_wait.
- 27/02/2008 – Loop infinito ao fechar a conexão (TSQLConnection.Close) (Muito obrigado à Luiz Henrique Auer)
- 27/02/2008 – Access violation quando não especificado DriverName=TBODBXFB em TSQLConnection.Params. (Muito obrigado à Luiz Henrique Auer)
- 14/02/2008 – Adicionado suporte a plataforma .Net
- 14/02/2008 – Adicionado suporte ao Data Explorer
- 14/02/2008 – Corrigido problema com transações (Muito Obrigado Luiz Henrique Auer)
- 14/02/2008 – Correção do tratamento de parametros do tipo ftDate
- 14/02/2008 – Ajustes no instalador para detectar a pasta onde fica os arquivos .ini do dbExpress
- 14/02/2008 – Correção de outros “pequenos” problemas
- 30/01/2008 – Criado instalador do driver
- 30/01/2008 – Chaves no arquivo dbxdrivers.ini estavam incorretas, impossibilitando a conexão (Muito Obrigado Luciano Pimenta)