MySQL no Delphi 2007

Any customer can have a car painted any colour that he wants so long as it is black.Esses dias andei experimentando usar o Delphi 2007 para acessar bancos de dados MySQL, o que me fez lembrar muito da notória frase de Henry Ford no início do século XX: “Qualquer cliente pode ter um carro de qualquer cor que deseje, desde que seja preta”.

Descobri que se pode usar componentes dbExpress para acessar qualquer banco de dados MySQL que deseje no Delphi 2007, desde que seja um banco de dados da versão 5.0 do MySQL.

Por mais natural que pareça que funcione a versão estável mais recente, no caso a 5.1 (eu não digo nem a 6.0, em alpha-release), não adianta que não funciona. Tentei ainda usar o driver dbExpress que vem no recém-lançado Delphi 2009 e o resultado foi o mesmo. Só quando eu desinstalei o MySQL 5.1 e instalei o MySQL 5.0 na máquina deu certo. Rápido e fácil como era de se esperar da dupla dinâmica MySQL e dbExpress.

MySQLAparentemente, manter compatibilidade entre versões da libmySQL.dll não é uma grande preocupação para a Sun. Se serve de algum consolo, percebi incompatibilidade similar na versão mais recente do driver de MySQL para Ruby on Rails. O driver 2.7.3 funciona bem com MySQL 5.0, mas falha com o MySQL 5.1 ao gerar comandos simples como “SHOW TABLES”.

Nada justifica, no entanto, os erros catastróficos que o Delphi exibe quando falha em abrir uma query usando a DLL cliente do MySQL 5.1. Primeiro aparece uma mensagem de erro “Commands out of sync; you can’t run this command now”. Até aí tudo bem, é uma mensagem do próprio MySQL - quer dizer, não está tudo bem, mas é compreensível. Só que a partir da segunda tentativa de abrir o dataset já é mostrada uma apavorante mensagem de “Access Violation” na IDE do Delphi.

A qualidade do design do DBX 4 é excelente. Ainda assim, como não é possível controlar a qualidade dos drivers e DLLs cliente de terceiros, seria importante dedicar mais atenção ao tratamento de erros nas interfaces para não da margem a esse tipo de instabilidade.

No caso específico do MySQL acho importante a CodeGear correr para tornar os seus drivers compatíveis com as versões mais recentes, porque existem por aí em produção bancos de dados MySQL de todas as versões e simplesmente dizer que a culpa é da Sun não vale.

Delphi Prism Video

Assista aqui a um rápido preview de 3:24″ do Delphi Prism rodando no Visual Studio 2008 (em inglês), gravado por

Delphi Prism no Visual Studio .NET

Agora é oficial: ontem foi anunciada a próxima versão do Delphi for .NET, que se chamará Delphi Prism e será lançada até dezembro no CodeGear RAD Studio 2009. Ao invés da IDE do RAD Studio, funcionará como um plug-in de linguagem do Microsoft Visual Studio. O Delphi Prism é baseado na tecnologia Oxygene licenciada da RemObjects, como já havia sido comentado por de Erick Sasse no início do mês.

Resumindo as informações que já se tem do Delphi Prism:

← Previous PageNext Page →