Jump to content

MySQL and unigui


dkeene

Recommended Posts

Howdy

I have been using unigui and MySQL nicely for development in 64 bit mode. I am now trying to create a server machine for deployment. I have nicely installed 64bit mysql on the target server along with unigui hyperserver, but so far, i can't get past this error:

[FireDAC][Phys][MySQL]-314. Cannot load vendor library [libmysql.dll or libmysqld.dll]. The specified module could not be found. Hint: check it is in the PATH or application EXE directories, and has x64 bitness.!

is anyone familiar with exactly where to place the libmysql.dll ?

Thank you

Doug

Link to comment
Share on other sites

Thank you erich and cbr. I don't get how difficult this can be.

On TUniServerModule.UniGUIServerModuleCreate(...

begin

   MyString:='C:\MyUniApplicationS\libmysql.dll';
   Self.FDPhysMySQLDriverLink1.VendorLib:=MyString;

end;

 

yet despite the libmysql.dll being at this location, I get the error: can not load vendor library... any other ideas? I am running in Release Mode.

Link to comment
Share on other sites

I also tried the library location from the actual installation

 

   MyString:='C:\Program Files\MySQL\MySQL Server 8.0\lib\'+'libmysql.dll';
 

no matter where I put the libmysqll.dll it can't find it or load it

Link to comment
Share on other sites

One possible case may be that libmysql.dll depends on something like Visual C++ Redistributable Packages and they are not installed in your production server. Did you test a simple VCL form with a fdconnection on it? Is it the same error message?

Link to comment
Share on other sites

even in my case it was not easy ...

could you try this?
1) as suggested by Mehmet, install the 64 bit C++ connector  (https://dev.mysql.com/downloads/file/?id=494747)

2) copy in C:\Windows\System32 (and register) the 64 bit libmysql.dll that you find in \Program Files\MySQL\MySQL\MySQL Connector C xx\lib 

3) leave the property TFDPhysMySQLDriverLink.VendorLib empty

Sorry, but I have no chance to test a fresh installation right now, so I'm not sure of the result...
best wishes!
Cesare

Link to comment
Share on other sites

Thank you cbr, this is still not working for me. I am not sure how to "register" the 64 bit libmysql.dll, I tried regsvr32 but that did not work.

In a new windows machine I install MySql 8. This seems to set up a folder

C:\Program Files\MySQL\MySQL Server 8.0\lib with a file libmysql.dll which i copy into the directory of my application.

I use the Release switch, so my executable is in:

c:\MyApplication\Win64\Release, where the libmysql.dll, about 6.4 megabyes, is clearly copied.

The new machine does not have Delphi (XE8) installed, so I don't know what changes were made that enables the program to work on the development machine vs. this new machine.

I installed UniGUI hyperserver on the new machine.

I click the executable in c:\MyApplication\Win64\Release and I get the error: 

An Exception has occured in application:

[FireDAC][Phys][MySQL]-314. Cannot load vendor library [libmysql.dll or libmysqld.dll]. The specified module could not be found. Hint: check it is in the PATH or application EXE directories, and has x64 bitness.!

Restart application

Have you or anyone set up a new machine and could outline the steps to get this to work?

Thank you

Doug

Link to comment
Share on other sites

Hi Doug,

  I follow this steps in my new server with  Windows 2012 R2 Server connected with a  remote MySQL 5.7 server:

1) using a simple standard VCL app (64 bit), for testing,  with a grid that reads a table from the remote MySQL
2) copy in c:\windows\system32 the 2 dll libmysql.dll and vcruntime140.dll (you can find the two dlls in the attached file: keep in mind that they are valid for my specific case...)
3) launch the exe file: it works fine.

In my case,  was not necessary install the MySQL C Connector and register the dlls.
The app works also with the dlls directly in the same folder of the application.

If this works, you can try again with the Unigui application.

I hope you find it useful,
Cesare

libmysql.rar

Link to comment
Share on other sites

  • 10 months later...
On 6/26/2020 at 12:30 AM, dkeene said:

Howdy

I have been using unigui and MySQL nicely for development in 64 bit mode. I am now trying to create a server machine for deployment. I have nicely installed 64bit mysql on the target server along with unigui hyperserver, but so far, i can't get past this error:

[FireDAC][Phys][MySQL]-314. Cannot load vendor library [libmysql.dll or libmysqld.dll]. The specified module could not be found. Hint: check it is in the PATH or application EXE directories, and has x64 bitness.!

is anyone familiar with exactly where to place the libmysql.dll ?

Thank you

Doug

You are unable to use the MYSQL because this application failed to locate the libmysql.dll file. It might be happening because the libmysql.dll is missing on your computer or is damaged or if there is issue with the app itself.

Doesn't matter what the reason is you can start using the app by taking the required actions to fix the DLL file missing issue. For this, I would suggest you following this troubleshooting guide: Fix Libmysql.dll Missing Or Not Found Error

I hope it will help you to fix the issue on your computer.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...