Esse artigo faz parte da revista Clube Delphi edição 25. Clique aqui para ler todos os artigos desta edição

 

Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML. 

 

dbExpress: Perguntas e Respostas

Conheça soluções para problemas comuns com o dbExpress, a nova tecnologia de acesso a dados do Delphi/Kylix

Em muitos e-mails que tenho recebido comentando o artigo sobre dbExpress (edição 22), geralmente são levantadas dúvidas ou problemas. Tento sempre responder a todos. Neste artigo, registro as principais soluções que encontrei, bem como alguns truques que utilizo no dia-a-dia como profissional Delphi/Kylix. Muitos programadores poderão enfrentar, mais cedo ou mais tarde, as dificuldades aqui apresentadas. Então vamos lá!

1. Usando dbExpress, eu posso acessar outros bancos de dados que não sejam InterBase, Oracle, DB2 ou MySQL?

Sim. Em sourceforge.net/projects/open-dbexpress você encontra um driver dbExpress para ODBC. Em www.islamov.com/dbexpress há drivers dbExpress para ADO, ODBC e SQL Server.

2. Posso desenvolver meu próprio driver dbExpress?

Sim. O código fonte do driver do dbExpress para MySQL 3.22 tem o código liberado (em sourceforge.net/projects/freeclx). Você pode se basear nele para construir seu próprio driver. O driver dbExpress para ODBC (veja o item anterior) também tem o código fonte aberto e pode servir de exemplo.

3. Para acesso ao InterBase é melhor o dbExpress ou o InterBase Express (IBX)?

Muitas pessoas têm me questionado quanto ao uso do dbExpress substituindo o InterBase Express. Não vou discutir aqui qual é a melhor, pois isto dependeria muito do tipo de sistema a ser desenvolvido, do banco de dados e do sistema operacional.

No entanto, tenho uma resposta pessoal: use sempre o trio de componentes DataSetProvider, ClientDataset e um tipo de Dataset, e faça todas as operações em cima do ClientDataset, como definir máscaras, constraints, lookups, ou fazer buscas. Use sempre a propriedade CommandText do ClientDataset para armazenar a instrução SQL.

Se usar um ClientDataset, você pode facilmente associá-lo, mais tarde, a qualquer tecnologia de acesso a dados num piscar de olhos, como dbExpress, InterBase Express, ADO ou BDE. Poderá ainda ligá-lo a um servidor de aplicações remoto baseado em DCOM, COM+ ou CORBA. Uma última vantagem é que o ClientDataset também pode gravar os dados no disco local em formato XML (usando a tecnologia MyBase).

Com isso você pode programar tranquilamente sem se preocupar com qual tecnologia de acesso a dados ou banco de dados irá utilizar, podendo tomar esta decisão no final do projeto, fazendo testes em diferentes circunstâncias.

4. Estou tentando conectar ao MySQL 3.23 no Delphi 6 e não consigo. O que há?

A versão original do dbExpress só acessa MySQL 3.22. A única maneira de acessar a nova versão do MySQL é instalar o Update Pack 1 do Delphi 6, que instala um novo driver que dá suporte ao MySQL 3.23.41.


5. Sinto falta do SQL Explorer, que só funciona com o BDE. Existe algo parecido para o dbExpress?

O segundo CD que acompanha a caixa do Delphi 6 (o CD Companion Tools) contém um utilitário chamado "SQLBrowser for dbExpress". Ele é baseado na CLX, funciona no Delphi 6 e no Kylix, e tem código fonte aberto. Você pode baixar uma versão atualizada em www.qualtech.com.br/SQLBrowser. A Figura 1 mostra o SQLBrowser em ação.

...

Quer ler esse conteúdo completo? Tenha acesso completo