[firebase-br] [OFF] Melhor componente para FireBird
Jeferson Oliveira
jefersonfoliveira em gmail.com
Qua Jan 10 09:12:32 -03 2007
Jorge Henrique - America Moveis escreveu:
> mudei pra DBX somente pela economia de tráfego
> que ele oferece através do cache.
...
> o DBX monta um update
> somente no campo que foi alterado e com o(s) campo(s) chave(s)
> especificado(s).
OFF:
São recursos muito interessantes sim, sem dúvida. Mas é importante
compreender um ponto que gera muita confusão em alguns desenvolvedores
Delphi: esses NÃO SÃO recursos implmentados no dbExpress, mas sim do
DataSetProvider que obtém do TClientDataSet a relação dos campos
afetados. Você pode utilizar a relação TClientDataSet/TDataSetProvider
com quaisquer componentes de acessos a banco de dados que derivem de
TDataSet (BDE, DBX, IBX, ...).
Para melhor exemplificar:
Eu precisei, já faz tempo, migrar uma aplicação do BDE (Paradox) para
Firebird. Não queríamos mais utilizar BDE. Com receio dos conflitos
que poderiam ser gerados pela troca de componentes, resolvi fazer
antes ajustes em todo o código da aplicação para utilizar
ClientDataSet, abstraindo a camada de acesso.
A ligação ficou: ClientDataSet => DataSetProvider => TQuery
(UniDirectional = True) ou TTable.
Todo o código e componentes da aplicação foram ajustados para
acessarem somente o ClientDataSet. Após tudo ter sido convertido,
testado e funcionando em produção (ainda com BDE e Paradox) fomos
então migrar para o Interbase, utilizando IBX. Bastou trocar os
TQuery/TTable por TIBQuery (UniDirectional = True), sem alterar nada
no código fonte do projeto.
Abraço!
Jeferson Oliveira
Mais detalhes sobre a lista de discussão lista