dbExpress suporte ao MySQL no Delphi 2010 e XE
Parece ser frequente as dúvidas relacionadas a utilização do driver dbExpress para MySQL, na grande maioria usuários das versões 2010 e XE do Delphi.
O arquivo readme.html que está localizado no diretório onde o Delphi foi instalado, documenta as versões de MySQL e dos outros bancos suportados pelo dbExpress. No caso do MySQL o arquivo inclui as combinações de versões de server e bilbiotecas clientes suportadas, infelizmente o MySQL a cada nova versão traz inúmeras alterações nas API’s e acabe dificultando uma pouco nosso trabalho.
Abaixo informações que você deve saber.
Versões de servidores MySQL oficialmente suportadas e testadas.
MySQL 5.1, 5.0.27, 4.1 (Todas) (Driver dbxMYS.dll, Client libmysql.dll)
Combinação das versões de servidores e clientes MySQL que foram testadas
- LibMySQL.dll (5.1.XX) Client – DBXMys.dll MySQL 4.0.XX Server
- LibMySQL.dll (5.1.XX) Client – DBXMys.dll MySQL 5.0.XX Server
- LibMySQL.dll (5.1.XX) Client – DBXMys.dll MySQL 5.1.XX Server
Em resumo, você tem que instalar a versão do cliente do MySQL 5.1.xx para que sua aplicação cliente funcione com servidores MySQL 4.0.XX, 5.0.XX e 5.1XX
O que fazer caso você tenha outras versões do Delphi na mesma máquina?
Caso isso aconteça o IDE poderá carregar uma das versões antigas do driver dbExpress para MySQL, isso acontece porque o diretório bin da versão anterior do Delphi está a frente na variável de sistema PATH, para resolver este problema, no menu Tools -> Options -> Environment Variables adicione o PATH da versão atual do Delphi a frente de todas as variáveis. Lembre-se que casa você use a versão anterior instalada na sua máquina, você deverá atualiza a variável de ambiente PATH novamente.
Espero que essas dicas tenham ajudado.
E tem previsão para quando o RAD XE suportará a versão MySql 5.5 ??
@Paulo, estamos avaliando a possibilidade de suportar na próxima versão
Olá Andreano, gostaria de dizer que ainda acho as versões novas do Help no Delphi um muito confusas e pouco intuitivas, as versões que acompanhavam até a versão 7 do Delphi eram mais fáceis de usar e localizar as informações; vocês tem alguma previsão de melhoria para as futuras versões?
Olá Andreano !
Saberia me dizer se tem previsão para o delphi ter suporte POSTGRESQL no dbexpress ?
Abraço
Olá Andreano !
estou uzando zeus pra fazer conecao com mysql no delphi 7 mas quando migro pro d2010 e uso uma select na query ele da um erro de compatibilidade de versao mas quando vou pro d2009 funciona normal ja aconteceu com vc. aguardo retorno!
Oi Wesley,
Comigo não, talvez você não esteja com a versão correta. Coloca sua dúvida na lista-delphi do yahoo, tem muita gente que usa Zeus lá.
Andreano, ainda falando de DBX, no recurso de metadata, como é possível adicionar uma coluna a uma tabela já existente?
Já que Provider.CreateTable(TDBXTable) cria a tabela…
Obrigado!
Att.,
Andreano
Não consigo fazer o “Embarcadero RAD Studio XE” C++ Builder funcionar com o MYSQL 5.1.56
Eu entendo que deve ter uma combinação correta entre as DLLs libmysql.dll e DBXMys.dll
Como descubro a versão de uma DLL? Clico com o botão direito do mouse vou em propriedades e lá tem Versão do arquivo dbxmys.dll 15.0.3890.34076.
O problema é que não sei de onde pegar estas DLLs a DBXMys.dll já vem com o C++ builder então nem mexi mas e a libmysql.dll tentei de tudo.
Falta documentação.
Uso window 7 – 64 bits
Já até postei no fórum da embarcadero um cara teve o mesmo problema em 2009 e ainda não responderam ele, estou seriamente pensando em migrar para o MS Visual Studio me falam que não tem estes problemas de integração com o SQL Server.
https://forums.embarcadero.com/thread.jspa?messageID=371315#371315
Qualquer luz por favor ajude estou já a dois dias nisto não gosto de pedir ajuda antes de pesquisar, mas isto aqui está se tornando um pesadelo.
A conexão via ODBC eu consigo fazer normalmente mas a segurança é ridicula o odbcad32 grava a senha em TXT no registro do windows é muito fácil de descobrir!
Rick,
Você tem que ter as dlls 32 bits do MySQL, se você está usando dll 64bits nunca irá funcionar. Verifique o instalador do seu MySQL ele traz a versão do produto e está que documentei aqui no blog é a que você deve usar.
Se você não conseguir usar nosso suporte pode lhe ajudar – http://support.embarcadero.com
Funcionou a versão 32 bits do server 5.1.56 do MySql e apaguei todas as outras dlls, nem precisei colocar no diretório c:\widnows\system 32 ou qualquer outro mas durante a instalação do MySql pedi para adicionar o path e instalar as bibiotecas DEV.
Muito Obrigado.
Lucas says:
10 de julho de 2011 às 1:31
Andreano, ainda falando de DBX, no recurso de metadata, como é possível adicionar uma coluna a uma tabela já existente?
Já que Provider.CreateTable(TDBXTable) cria a tabela…
Obrigado!
Att.,
>>> Não encontro esse tópico em lugar algum…
Andreano, nenhuma posição sobre a questão acima?
Consegui resolver o problema citado acima, (Delphi XE + MySql 5.5) apenas adicionando a arquivo dbxmys.dll à pasta da minha aplicação.
Utilizo o Delphi 2010 professional, Data Module com um TsqlQuery, TDatasource, TClientDataSet e TDatasetProvider, para acesso ao mysql 5.1. Até hoje vinha funcionando normal, mas agora aparece quando executa a linha “DM.QNOTAFISCAL.CLOSE ou fecho a conexão” a seguinte mensagem:
ACCESS VIOLATION AT ADDRESS 00C095B IN MODULE ‘DBXMYS.DLL’. WRITE OF ADDRESS 00000000.
Já pesquisei na internet e nada funcionou, até coloquei as DLL dbxmys.dll e libmysql.dll na pasta do executavel e em system32, mas não funcionou.
obs: Em uma simples consulta, funciona na primeira vez, quando vou solicitar novamente a mesma consulta sem sair do programa, ocorre o erro na linha acima informada.
Obrigado.
Helio.
to precisando