Ability to set client library (like with IBDac) on a per connection basis

Discussion of open issues, suggestions and bugs regarding MyDAC (Data Access Components for MySQL) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
upscene
Posts: 276
Joined: Thu 19 Oct 2006 08:13

Ability to set client library (like with IBDac) on a per connection basis

Post by upscene » Wed 26 Sep 2018 09:33

Hi there,

Is it currently possible to set the client library for a connection? For example, I'd like to use MariaDB which has certain protocol changes & additions. However, when using Direct = False, the components want libmysql.dll as the client library.

With regards,

Martijn Tonies

ViktorV
Devart Team
Posts: 2353
Joined: Wed 30 Jul 2014 07:16

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by ViktorV » Thu 27 Sep 2018 13:55

If the Direct property is set to False, MyDAC will use the client library named libmysql.dll (under Windows). The application will search for the libmysql.dll library in the following order:
1. The catalog from which the application is loaded.
2. The //System32 system folder
3. The //SysWOW64 folder of 64-bit system
4. The //Windows folder.
5. Current workspace.
6. Folders listed in the PATH environmental variable.
The bitness of the client library should correspond to the bitness of your application.
Therefore, to solve your problem, you can perform the following steps:
- take the MariaDB client library whose bitness corresponds to the bitness of your application;
- name the libmysql.dll client library and place it in the folder with the executable file.
Also, please, if possible, specify in detail which functionality is not available in the Direct mode.

upscene
Posts: 276
Joined: Thu 19 Oct 2006 08:13

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by upscene » Thu 27 Sep 2018 14:03

Hello Viktor,

I know it works like that. But for people with multiple versions and different types (eg, MySQL AND MariaDB servers) it doesn't work.

I've been forwarded this error:
Getting the following error connecting to MariaDB 10.3
instance in the cloud:

#08004Client does not support authentication protocol
requested by server; consider upgrading MariaDB client

We are using s SSH tunnel. MariaDB authentication we are
using is PAM authentication + One Time Password combination.

On local machine, latest stable version of MariaDB is
installed
Hope this helps.

With regards,

Martijn Tonies

ViktorV
Devart Team
Posts: 2353
Joined: Wed 30 Jul 2014 07:16

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by ViktorV » Thu 27 Sep 2018 14:58

We try, if possible, to support all the necessary functionality in the Direct mode.
If you can provide access to your server or specify the exact settings of the MariaDB server to demonstrate the error you’ve described, we will try, if possible, to support the functionality you need in the Direct mode.
Also, please, specify in detail which functionality is not available in the Direct mode when working with MySQL.

upscene
Posts: 276
Joined: Thu 19 Oct 2006 08:13

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by upscene » Thu 27 Sep 2018 15:04

Hello Viktor,

This isn't my server. But you're describing part of the problem > you're always lagging behind, despite how fast you are. Even if you're very fast when implementing new features, a third party has to update to the new version of your components and release a new version of its software (like we do).

However, when using the client library of choice, this problem will be solved and users of products that use your components can continue.

With regards,

Martijn Tonies

ViktorV
Devart Team
Posts: 2353
Joined: Wed 30 Jul 2014 07:16

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by ViktorV » Tue 02 Oct 2018 09:49

Since the Direct property is deprecated, we have not been supporting the client library for a long time, therefore, unstable or incorrect work is possible using the client library. But we try to maintain all the required functionality in the Direct mode. Therefore, please provide detailed information about the functionality you need and we will try to add it in the near future.

upscene
Posts: 276
Joined: Thu 19 Oct 2006 08:13

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by upscene » Tue 02 Oct 2018 09:53

Hello Viktor,

Using the client library is deprecated? I'm surprised about this move, it means users always have to wait for 1. your new release, 2. a new release of software using an updated version of your components. This can be very problematic.

Sorry to hear that.

ViktorV
Devart Team
Posts: 2353
Joined: Wed 30 Jul 2014 07:16

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by ViktorV » Tue 02 Oct 2018 10:43

Yes, support for the client library is deprecated. The Direct mode supports the entire functionality of our components, and the performance is higher as compared to using the client library. Also, some of the functionality is not supported if you do not use the Direct mode.
Therefore, we ask you once again to provide accurate and detailed information about the functionality you need, so that we can add it in the near future.


ViktorV
Devart Team
Posts: 2353
Joined: Wed 30 Jul 2014 07:16

Re: Ability to set client library (like with IBDac) on a per connection basis

Post by ViktorV » Thu 04 Oct 2018 10:22

Support for the functionality you need is under development. For testing, we can send you the alpha version of support for the functionality you need. Please send an email to viktorv*devart*com, in which specify your license number (if you are a registered user) and the exact version of the IDE you are using.

Post Reply