Встроенная в Delphi и UniDAC строка подключения MySQL

У меня проблема с подключением Devart UniDac со встроенной базой данных mySQL.

Код идет:

basedir := GetCurrentDir + '\mysql';
UniConnection1.ProviderName := 'MySQL';
UniConnection1.Database := 'razrednici';
UniConnection1.SpecificOptions.Values['Embedded'] := 'True';
UniConnection1.SpecificOptions.Values['EmbeddedParams'] := '--basedir=' +
  basedir + ''#13#10'--datadir=data';
UniConnection1.Connect;

но я получаю сообщение об отсутствии некоторых файлов, у меня есть база данных в ./mysql/data/razrednici, у меня есть общая папка вместе с папкой данных и libmysqld.dll с exe-файлом... чего не хватает? выручи меня


person Aleksandar    schedule 12.06.2017    source источник
comment
Можете ли вы опубликовать сообщение об ошибке, в котором указаны отсутствующие файлы?   -  person John Easley    schedule 12.06.2017


Ответы (1)


Для работы с Embedded сервером необходимо скопировать требуемую libmysqld.dll и каталог "Share" из каталога сервера MySQL в каталог с вашим приложением.

Эта библиотека отличается для 32-битных и 64-битных приложений и распространяется вместе с MySQL Server.

The libmysqld.dll and share\english\errmsg.sys files are distributed with MySQL Server distribution of the corresponding bitness.

Note, both 32-bit and 64-bit client libraries of the MySQL Embedded Server library are called the same - libmysqld.dll and each of them is distributed with the distribution of the corresponding bitness.

Достаточно разместить libmysqld.dll в той же директории, что и используемый файл.

Also try to use in your sample the following code:

UniConnection.SpecificOptions.Values['EmbeddedParams'] := '--basedir=.'#13#10'--datadir=data';
person Devart    schedule 23.06.2017