MySQL x Delphi 7 dbExpress
Olá, Estou com problemas quando tento me conectar ao banco. Surge a mensagem: unable to load libmysql.dll
Estou com o mySQL 4.00.12 instalado e o arquivo libmysql.dll foi copiado para a pasta windows\system.
Será um problema da função getSQLDriverMYSQL (definida na propriedade GetDriveFunc) que carrega o driver do MySQL?
Obrigado,
saulosls@yahoo.com.br
Estou com o mySQL 4.00.12 instalado e o arquivo libmysql.dll foi copiado para a pasta windows\system.
Será um problema da função getSQLDriverMYSQL (definida na propriedade GetDriveFunc) que carrega o driver do MySQL?
Obrigado,
saulosls@yahoo.com.br
Anonymous
Curtidas 0
Melhor post
Stjosimar
24/05/2008
Depois de procurar muito pra saber como conectar o MySQL 5 ao Delphi 7, encontrei no fórum da Devmedia uma resposta a esta dúvida, resolvi lapidar e transformá-lo em um artigo, pois creio que seja uma dúvida de vários desenvolvedores. Como todos nós sabemos os componentes da DBExpress
no Delphi 7 somente suporta até o MySQL 4.x, devemos então baixar uma dll que
nos servirá para esta conexão. Este artigo leva em consideração que você tenha instalado
o MySQL 5 em seu computador. Se acaso não estiver baixe-o
clicando aqui.
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.45-win32.zip/from/http:/mysql.cs.pu.edu.tw/
1. Faça o download do driver aqui. http://www.planetadelphi.com.br/delphi/componentes/banco_de_dados/00004551.rar
Descompacte este arquivos e copie o arquivo dbxopenmysql50.dll para a pasta ´C:\Arquivos de programas\Borland\Delphi7\Bin\´.
2. Abra o arquivo dbxdrivers.ini localizado na pasta ´C:\Arquivos de programas\Arquivos comuns\Borland Shared\DBExpress´ com
o editor de sua preferência. Altere as seguinte linhas.
a) Na seção [Installed Drivers] adicione a seguinte linha.
MySQL50=1
b) E logo após esta seção adicione o seguinte conteúdo:
[MySQL50]
GetDriverFunc=getSQLDriverMYSQL50
LibraryName=dbxopenmysql50.dll
VendorLib=libmysql.dll
HostName=ServerName
Database=DBNAME
User_Name=user
Password=password
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Salve e feche o arquivo.
3. Copie o arquivo libmySQL.dll localizando em ´C:\Arquivos de programas\MySQL\MySQL Server 5.0\bin´ para a pasta
´C:\Windows´.
4. Abra o Delphi 7 e adicione uma SQLConection(DBExpress), SQLQuery(DBExpress), DataSetProvider(Data Access),
ClientDataSet(Data Access) e DataSource(Data Access).
Faça a ligacação com o banco de dados. Clique duplo no SQLConection, clique em add, selecione MySQL50 e de um nome a sua
conexão e OK, configure os parâmetros Hostname, Database, User e Password. De um ok nesta janela e altere a propriedade
LoginPrompt para False e Connected para True. Sua conexão estará feita, caso de erro revise os passos anteriores.
Ligue o SQLQuery ao SQLConection e digite na propriedade SQL.
select * from nome_da_tabela
Configure o DataSetProvider ao SqlQuery, o ClientDataset ao Provider e o DataSource ao ClientDataSet, de um duplo clique no
ClientDataSet e de um Ctrl + F para adicionar os campos agora você já estará podendo trabalhar com o MySQL 5 no Delphi 7.
Uma coisa curiosa que eu notei e que se o componente utilizado for SQLDataSet ao invés de um SQLQuery o mesmo só fará a
conexão com o MySQL 5 se a propriedade CommandType for uma ctQuery, se for ctTable ela listará todas as tabela do banco
porém ao tentar adicionar os campos no mesmo ele mostrará a seguinte menssagem ´Incorrect DataBase Name´, creio eu que seja
devido a própria estrutura do MySQL que não permite tal conexão. Espero ter ajudado.
Primeiramente gostaria de agredecer a Deus por poder escrever este artigo e depois ao usuário lucasfss
fórum da Devmedia, pois foi através dele que me deu inspiração pra escrever este artigo.
Um Grande abraço e bom Desenvolvimento para todos ;)
no Delphi 7 somente suporta até o MySQL 4.x, devemos então baixar uma dll que
nos servirá para esta conexão. Este artigo leva em consideração que você tenha instalado
o MySQL 5 em seu computador. Se acaso não estiver baixe-o
clicando aqui.
http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.45-win32.zip/from/http:/mysql.cs.pu.edu.tw/
1. Faça o download do driver aqui. http://www.planetadelphi.com.br/delphi/componentes/banco_de_dados/00004551.rar
Descompacte este arquivos e copie o arquivo dbxopenmysql50.dll para a pasta ´C:\Arquivos de programas\Borland\Delphi7\Bin\´.
2. Abra o arquivo dbxdrivers.ini localizado na pasta ´C:\Arquivos de programas\Arquivos comuns\Borland Shared\DBExpress´ com
o editor de sua preferência. Altere as seguinte linhas.
a) Na seção [Installed Drivers] adicione a seguinte linha.
MySQL50=1
b) E logo após esta seção adicione o seguinte conteúdo:
[MySQL50]
GetDriverFunc=getSQLDriverMYSQL50
LibraryName=dbxopenmysql50.dll
VendorLib=libmysql.dll
HostName=ServerName
Database=DBNAME
User_Name=user
Password=password
BlobSize=-1
ErrorResourceFile=
LocaleCode=0000
Salve e feche o arquivo.
3. Copie o arquivo libmySQL.dll localizando em ´C:\Arquivos de programas\MySQL\MySQL Server 5.0\bin´ para a pasta
´C:\Windows´.
4. Abra o Delphi 7 e adicione uma SQLConection(DBExpress), SQLQuery(DBExpress), DataSetProvider(Data Access),
ClientDataSet(Data Access) e DataSource(Data Access).
Faça a ligacação com o banco de dados. Clique duplo no SQLConection, clique em add, selecione MySQL50 e de um nome a sua
conexão e OK, configure os parâmetros Hostname, Database, User e Password. De um ok nesta janela e altere a propriedade
LoginPrompt para False e Connected para True. Sua conexão estará feita, caso de erro revise os passos anteriores.
Ligue o SQLQuery ao SQLConection e digite na propriedade SQL.
select * from nome_da_tabela
Configure o DataSetProvider ao SqlQuery, o ClientDataset ao Provider e o DataSource ao ClientDataSet, de um duplo clique no
ClientDataSet e de um Ctrl + F para adicionar os campos agora você já estará podendo trabalhar com o MySQL 5 no Delphi 7.
Uma coisa curiosa que eu notei e que se o componente utilizado for SQLDataSet ao invés de um SQLQuery o mesmo só fará a
conexão com o MySQL 5 se a propriedade CommandType for uma ctQuery, se for ctTable ela listará todas as tabela do banco
porém ao tentar adicionar os campos no mesmo ele mostrará a seguinte menssagem ´Incorrect DataBase Name´, creio eu que seja
devido a própria estrutura do MySQL que não permite tal conexão. Espero ter ajudado.
Primeiramente gostaria de agredecer a Deus por poder escrever este artigo e depois ao usuário lucasfss
fórum da Devmedia, pois foi através dele que me deu inspiração pra escrever este artigo.
Um Grande abraço e bom Desenvolvimento para todos ;)
GOSTEI 1
Mais Respostas
Anonymous
05/04/2003
Olá, Estou com problemas quando tento me conectar ao banco. Surge a mensagem: unable to load libmysql.dll
Estou com o mySQL 4.00.12 instalado e o arquivo libmysql.dll foi copiado para a pasta windows\system.
Será um problema da função getSQLDriverMYSQL (definida na propriedade GetDriveFunc) que carrega o driver do MySQL?
Obrigado,
saulosls@yahoo.com.br
Baixe o componente Zeos, que é free e que é exclusivo para uso mysql, sqlserver e postgress
GOSTEI 0
Anonymous
05/04/2003
O seu problema é em Library Name ao invés de ´dbexpmys.dll´ coloque:
´dbexpmysql.dll´.
Vai funcionar
´dbexpmysql.dll´.
Vai funcionar
GOSTEI 0
Trampo
05/04/2003
Algumas dicas:
No componente
MySQLConnection, as propriedades:
1 - LibraryName deve ser modificada para dbExpmysql.dll se MySQL for 3.23 ou superior
2 - VendorLib deve ser: C:\mysql\bin\LIBMYSQL.DLL ou, se preferir, esta dll deve ser copiada para um diretório da PATH, como C:\WINDOWS\SYSTEM32
Agora sim, escolha o driver MySQLConnetcion e configure a conecção.
No componente
MySQLConnection, as propriedades:
1 - LibraryName deve ser modificada para dbExpmysql.dll se MySQL for 3.23 ou superior
2 - VendorLib deve ser: C:\mysql\bin\LIBMYSQL.DLL ou, se preferir, esta dll deve ser copiada para um diretório da PATH, como C:\WINDOWS\SYSTEM32
Agora sim, escolha o driver MySQLConnetcion e configure a conecção.
GOSTEI 0
Anonymous
05/04/2003
Olá pessoal,
Obrigado pelas respostas, mas eu já tinha tentado isso.. quanto a pasta SYSTEM32 ela é válida se o SO for NT ou XP. No caso do win98 a pasta é SYSTEM. Já tinha também observado a alteraçao do nome em LibraryName. A questão agora (prá tirar a limpo). Vocês usam o Delphi 7 ou o Delphi 6/5?
Acho que é um bug do Delphi 7!
Uma outra questão este componente Zeos: Ele age independentemente do demais componentes da paleta dbExpress ou trabalha em conjunto?
Um abraço a todos.
Obrigado pelas respostas, mas eu já tinha tentado isso.. quanto a pasta SYSTEM32 ela é válida se o SO for NT ou XP. No caso do win98 a pasta é SYSTEM. Já tinha também observado a alteraçao do nome em LibraryName. A questão agora (prá tirar a limpo). Vocês usam o Delphi 7 ou o Delphi 6/5?
Acho que é um bug do Delphi 7!
Uma outra questão este componente Zeos: Ele age independentemente do demais componentes da paleta dbExpress ou trabalha em conjunto?
Um abraço a todos.
GOSTEI 0
Sventuri
05/04/2003
cara, fiz da forma que voce falou mas na hora de executar da o seguinte erro:
Access violation at address 00CC44EF in module ´dbxopenmysql50.dll´
Access violation at address 00CC44EF in module ´dbxopenmysql50.dll´
GOSTEI 0
Jeancarissimi
05/04/2003
Estou com o mesmo problema do SVenturi.. ://
GOSTEI 0
Yallebr
05/04/2003
Amigos já utilizei MySQL e mudei para o FireBird justamente por essa incompatiblidade. Fica uma sugestão.
Abraço
Abraço
GOSTEI 0
Sownray
05/04/2003
Olá amigos, uso o mysql 5 com delphi 7 sem problemas, faça o seguinte, depois de configurar os arquivos na pasta DBEXPRESS, coloque a dll em questão na pasta system32 do seu windows, qualquer coisa entre em contato.
GOSTEI 0
Sownray
05/04/2003
ia me esquecendo, vc tb pode copiar as dll´s na propria pasta onde se encontra seu exe, codigo fonte, que tb dá certo.
dll = dbxopenmysql50 e libmysql
dll = dbxopenmysql50 e libmysql
GOSTEI 0
Osocram
05/04/2003
Aqui no serviço estou tendo q usar o MySql tbm.. tive este prob. no começo. Mas o erro é pq ele não encontra as dll do MySql.
Eu utilizo normalmente agora... peguei a dll e joguei no diretorio do meu aplicativo... funciou.. dae tirei de la e joguei na system do windows e funcionou tbm.
exatamente oq o amigo sownray comentou.... Era o que eu fiz aqui e funcionou.
Eu utilizo normalmente agora... peguei a dll e joguei no diretorio do meu aplicativo... funciou.. dae tirei de la e joguei na system do windows e funcionou tbm.
exatamente oq o amigo sownray comentou.... Era o que eu fiz aqui e funcionou.
ia me esquecendo, vc tb pode copiar as dll´s na propria pasta onde se encontra seu exe, codigo fonte, que tb dá certo.
dll = dbxopenmysql50 e libmysql
GOSTEI 0
Daniel Brito
05/04/2003
Olá amigos, uso o mysql 5 com delphi 7 sem problemas, faça o seguinte, depois de configurar os arquivos na pasta DBEXPRESS, coloque a dll em questão na pasta system32 do seu windows, qualquer coisa entre em contato.
Prezados fiz tudo como nos tutoriais, no meu pc funcionou normalmente, mas quando o coloco o sistema nas estacoes mesmo copiando as dlls para suas respectivas pastas nao abre por conta dessas dlls como = DBXOPENMYSQL50.DDL
GOSTEI 0