Imprimir este artigo Imprimir este artigo Enviar o artigo a um amigo Enviar o artigo a um amigo
Página Inicial > BD, Delphi > MySQL 5 e Firebird 2 no Delphi 2007 com DBExpress

MySQL 5 e Firebird 2 no Delphi 2007 com DBExpress

Para os amantes do MySQL e do Delphi, até que enfim a Borland/CodeGear criou um driver DBExpress que funcione no MySQL 5.  Pelo que soube, em um dos Borland Conference que participei, o grande problema é que os desenvolvedores do MySQL faziam muitas alterações significativas no núcleo do mysql, o que tornava os drivers da Borland incompatíveis com as novas versões deste banco de dados. O Delphi 2007 veio com uma nova versão do DBExpress, a versão 4, o que tornou os antigos drivers de terceiros, para diversos bancos de dados, incompatíveis com esta nova versão. Drivers como o UIB para Firebird não funcionam mais no Delphi 2007.

O driver DBExpress oficial da Borland/CodeGerar para o Delphi 2007, de nome MySQL funciona, mas somente com versões do MySQL 5.0.27 e 4.1.22*, como informa no arquivo readme.htm na pasta do Delphi 2007, normalmente localizado em C:\Arquivos de programas\CodeGear\RAD Studio\5.0\readme.htm. Este driver funciona com a dll DBExpress de nome dbxMYS30.dll e a libmysql.dll (dll cliente do mysql). Logo, se você tiver um MySQL superior a versão 5.0.27, poderá ter problemas. Para você saber qual a versão do seu mysql, abra o prompt de comando e digite mysql -h localhost -u root -p -v onde -h é para indicar o ip/nome dns do servidor mysql e localhost é o servidor local, -u é para indicar o nome de um usuário, onde usei o usuário root, -p é para informar a senha (a mesma será solicitada após pressionar enter) e -v para mostrar a versão do servidor. Esta versão do driver DBExpress para MySQL funciona com caracteres unicode (um padrão internacional para representação de caracteres de diversas linguagens, que permite que um caractere acentuado, por exemplo, seja representado da mesma forma, independente da linguagem da aplicação/sistema operacional). A versão antiga do driver foi renomeada para dbxmysA30.dll, pois os drivers DBExpress nativos da Borland/CodeGear permitem trabalhar em modo de compatibilidade com o DBExpress 3. A letra A contida no nome do driver indica que o mesmo só aceita caracteres ASCII.

No meu caso, estou utilizando o MySQl 5.0.41 e a aplicação funciona normalmente, mas em tempo de projeto (design time), ocorre um erro informando que a biblioteca libmysql.dll não foi encontrada, e não adianta sair colando ela em tudo que é pasta que lhe vier a cabeça que o Delphi não a encontra. Como podemos não encontrar para baixar a versão 5.0.27 do MySQL, ou outra compatível com o driver DBExpress do Delphi, uma solução seria utilizar uma versão anterior da biblioteca libmysql.dll que pode ser encontrada nos pacotes de instalação do PHP, por exemplo. Você pode baixar a versão 5.0.22 da libmysql.dll, que funciona no Delphi 2007, nesse link, nesse, ou nesse. Basta descompactar esta dll na pasta bin de instalação do Delphi 2007, normalmente em C:\Arquivos de programas\CodeGear\RAD Studio\5.0\bin, que o driver vai funcionar em tempo de projeto no Delphi.

Quanto ao Firebird 2, ainda bem que o colega Thiago Borges de Oliveira desenvolveu um Driver DBExpress 4 gratuito exclusivo para o Delphi 2007, que está em versão Release Candidate, mas testei e tá funcionando direitinho, porém, podem ocorrer problemas por não ser uma versão final. O driver possui um setup que automatiza o processo de instalação, porém, requer o December Update do Delphi 2007 para funcionar, sem ele, até o processo de instalação pode falhar.

VN:F [1.8.4_1055]
Rating: 10.0/10 (2 votes cast)
VN:F [1.8.4_1055]
Rating: 0 (from 0 votes)
MySQL 5 e Firebird 2 no Delphi 2007 com DBExpress10.0102

Posts relacionados:

  1. Driver DBExpress 4 para Firebird no Delphi 2007 e 2009
  2. FeneInfo 2007
  3. Excluindo Constraints Foreign Key no MySQL (drop constraint)
  4. Identificadores lowercase em MySql no Windows
  5. Pegando o último valor de auto incremento inserido no mysql

Posts relacionados trazidos a você pelo Yet Another Related Posts Plugin.

Categories: BD, Delphi Tags:
  1. elcio
    12, junho, 2008 em 11:11 | #1

    Onde poderia encontrar um atualização do dbexpress para kylix3 para utilizar os bancos mysql5 e 6 e firebird 2?

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  2. manoelcampos
    12, junho, 2008 em 19:23 | #2

    Cara, o projeto kylix foi abandonado pela borland faz tempo. Acho difícil vc encontrar drivers dbexpress para ele. O que vc pode usar são os componentes open source da biblioteca zeos lib.

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  3. karlos bahia
    29, junho, 2008 em 00:49 | #3

    Olá Manoel, gostei de uma video aula que você Fez em Delphi , Usando cadastro, com XML. Por isso estou fazendo esta pergunta, tenho certeza que você vai me ajudar
    Fiz um sistema em delphi, que controla um banco de dados em access, porem para o executável rodar em outra máquina não funciona, mesmo configurando o Alias, …
    gostaria de saber como o programa fuciona em outra máquina.

    uma abraço

    karlos bahia

    email karlosbahia33@bol.com.br

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  4. manoelcampos
    30, junho, 2008 em 14:42 | #4

    Vc precisa compartilhar a pasta do banco com permissões de gravação. Aí, deve haver um arquivo de configuração
    em cada máquina onde a aplicação está, contendo
    o caminho do banco. Se for local, será o endereço
    da pasta, se for de outro computador na rede
    deve estar no formato \\nome_computador_ou_ip\nome_pasta_compartilhada\nome_banco_dados.mdb

    Sugiro que no nome do compartilhamento vc inclua
    um $ no final, para que o mesmo fique oculto e outros
    usuário não saibam da sua existência.

    Parar guardar o caminho do BD vc pode usar um
    arquivo .ini. Na net vc encontra muitos tutoriais de como
    trabalhar com arquivo .ini em delphi.

    Espero ter ajudado.

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  5. RAFAEL CUNHA
    30, junho, 2008 em 17:07 | #5

    Olá,

    gostaria de saber como distribuir a aplicação com dbx e mysql no rad2007 .net, verifiquei os mesmo problemas descrito na matéria acima, na minha máquina funcionou perfeitamente mais no servidor diz que eu tenho que colocar a dbxmysA30.dll no sistem32 e a versão da libmysql.dll não é compativel, já coloquei na raiz da aplicação, na pasta bin e nada e o erro perciste. o que eu devo fazer para rodara aplicação

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  6. manoelcampos
    30, junho, 2008 em 17:26 | #6

    Vc pode colocar a libmysql.dll, em uma das versões q cito no post,
    a midas.dll (que fica na pasta system32 do windows) e a
    dbxmys30.dll (a dbxmysA30.dll é a versão antiga, não aceita
    caracteres UTF, apenas ASCII),
    tudo na pasta da aplicação.

    A midas.dll precisa ser registrada com o comando regsvr32 -i c:\caminho\midas.dll no prompt de comando.

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  7. João Paulo
    20, agosto, 2008 em 02:22 | #7

    Boa Noite Manoel..

    Vi uma video aula sua boa sobre mysql com dbExpress mais Delphi 7. Gostaria de saber se existe algum driver dbExpress para Mysql 5.1 que funcione no Delphi 2007.

    Desde já agradesço.

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  8. manoelcampos
    20, agosto, 2008 em 12:27 | #8

    O próprio driver mysql que vem com o delphi 2007 funciona razoavelmente. Existem outros mas são todos pagos.

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  9. 8, dezembro, 2008 em 14:54 | #9

    Olá amigos, meu humilde comentário é que deveria uniformizar esse drives, poxa pra que tantas diferenças e incompatibilidades???

    Vamos facilitar!

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  10. Rodrigo Adachi
    13, setembro, 2009 em 07:18 | #10

    Link para baixar o MySQL 5.0.27 http://www.filehippo.com/download_mysql/1887/

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  11. Programador Gospel
    24, fevereiro, 2010 em 11:00 | #11

    Olá Manoel,

    naum consigo efetuar consultas no delphi com banco mysql e dbexpress,

    preciso de sua ajuda…

    estou desenvolvendo uma aplicação que consulta por data de nascimento e por nome..

    como faço..

    UN:F [1.8.4_1055]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.8.4_1055]
    Rating: 0 (from 0 votes)
  1. Nenhum trackback ainda.