Page 1 of 1

Problem with MySQL Libs [ZEOS + MySQL + Delphi 7]

Posted: 27.11.2010, 14:03
by morilon
Hey huys, my problem is this:

All the work is fine, the components are good, working, the database is working but when i try to set "TRUE" on the ZConnection, this annoying message pops out to me:

Image

What can i do? where can i get those freaking dlls?

My regards,
Morilon W.M.

Posted: 05.12.2010, 21:15
by mdaems
The 'freaking' dll's are available in any mysql distribution you can download as libmysql.dll or libmysqld.dll.

Some more info:
- Your message asks for de libmysqlD.dll version, which means you have selected the protocol for the EMBEDDED mysql server dll, a flavour that doesn't even try to contact a server process, but makes your application load it's own server internally. So when using a mysql server, choose the protocol without a 'D'.
- the library versions with the numbers inside are searched for first, to give you the possibility to rename the dll so it says clearly what dll version you are using, in case you support multiple protocols in your application (eg mysql 4.1 and mysql 5) You can use both in the same application, provided you make dll's available with the right naming.
- only when no dll with 'strict version naming' is available the neutral libmysql(d).dll is used.

Mark

Posted: 06.12.2010, 00:17
by Pitfiend
Also, be sure to have the dlls available on your path, or your application folder.

Posted: 02.02.2011, 21:00
by Synologic
Unfortunately the problem is real on 64-bit Windows.

I have encountered this problem using Delphi 7 and Zeos and accidentally trying to load the 64bit version of libmysql.dll.

The problem is easily solved by using the 32bit version of libmysql, one copy can be found here http://dev.mysql.com/get/Downloads/Conn ... org/mysql/

Posted: 02.04.2011, 21:41
by mdaems
Synologic,

I think I understand your problem.
As you're compiling using Delphi 7 you're creating 32 bit executables, using the 32 bit definitions of the mysql libraries (Int and pointers using 4 bytes). However 64-bit mysql libraries use 8 byte integers/pointers.

You may try using the 64-bit freepascal compiler and Lazarus. Not sure if that one is mature enough on Windows. I heard using Lazarus+Zeoslib+mysql works on 64-bit Linux.

Posted: 24.09.2011, 15:28
by niofox
Ok so I'm using Windows 7 64-bit / Delphi 2010 / MySQL 5.5.15 32-bit
Still had to use this fix
However the link above was broken for me so I thought I'd just add the one I used for anyone else who has this problem

http://www.mysql.com/downloads/connector/c/