Author |
Message |
gemisigo
Joined: 11 Mar 2010 Posts: 2165
|
|
[10.1.277 Pro] - Issues connecting to MariaDB servers |
|
I'm experiencing problems when trying to connect to a MariaDB (5.5.57) server using {MariaDB ODBC 3.1 Driver}. The connection parameters are properly set up but when I try to connect I get a warning stating that:
As I'm pretty sure this a MariaDB and not a MySQL, I answer no. SE is then seemingly frozen but after a few seconds, I get a popup showing it is trying to refresh the DB Explorer. If I leave it at that it gets stuck indefinitely, I have to kill it from the Task Manager.
If I answer yes all SE does is it changes the Database Type in the connection dialog to MySQL.
Trying to connect to the server as if it were MySQL (with {MySQL ODBC 8.0 Unicode Driver}) results in SE quitting/crashing without a word.
Trying to connect to the server as if it were MySQL (with MySQL dll) gives the warning complaining again about the mismatching SQL assistance types but this time the other way around:

|
|
Thu Mar 14, 2019 7:43 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7948
|
|
|
|
The driver and server seem to be a bit outdated and maybe identifying themselves as "MySQL". The Connect dialog uses several methods to identify server type, including type and version info reported by the driver. If the driver returns "MySQL", then it may appear as a MySQL server.
Can you please try native connection using libmariadb.dll. Do you get the same errors?
|
|
Fri Mar 15, 2019 9:00 am |
|
 |
gemisigo
Joined: 11 Mar 2010 Posts: 2165
|
|
|
|
While the server is indeed outdated (alas, not much I can do about that), the driver is the latest RC. I tried 3.0.8 instead just to see what happens but it didn't make any difference.
Regarding libmariadb.dll, it only works well using the 32bit driver. When I try to use the 64bit driver it took >2 minutes for the Refreshing DB Explorer... splash to go away, and every popup needs a vast amount of time to populate. Running queries is also snail-slow. On the other hand, using the 32bit driver requires using the 32bit SE, which I haven't done for a long time.
|
|
Mon Mar 18, 2019 5:57 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7948
|
|
|
|
Thank you for trying different options. At least we do know that when you connect using native client, the server is recognized as MariaDB. You may actually want to try one other option which using ADO.NET.
But we can say now there is some issue with server type recognition. I' putting performance issue with 64-bit libmariadb aside for the moment, I think it's unrelated and need to be investigated separately.
May I ask to execute SELECT version() and let us know what it returns?
Als, after connection, ignore the warning, press Ctrl+Shift+F9 and if you see MySQL selected for SQL Assistance type, please choose MariaDB. Does this solve the issue with ODBC connections?
|
|
Tue Mar 19, 2019 8:51 am |
|
 |
gemisigo
Joined: 11 Mar 2010 Posts: 2165
|
|
|
|
Which data provider should be used with ADO.NET for MariaDB?
When connecting with libmariadb, SELECT version() returned 5.5.57-MariaDB.
Connecting with ODBC using 32bit SE happens flawlessly (no warnings, delays, performance issues), the version reports the same. It seems that the connection issue is indeed related to 64bit SE (and/or 64bit version of the ODBC).
As for trying to change the SQL Assistance type, Ctrl+Shift+F9 is set to Execute SQL Code in my config. If you were referring to hotkey Modify Target Option, I've got that one sitting on Ctrl+Shift+F5. Hitting it, however, makes little difference.
If I dismiss the warning with Yes, then no connection attempt is made, it only reopens the connection dialog with the Database Type changed to MySQL. As it also changes server name for an actual MySQL connection, I think that dialog is irrelevant. Trying to connect to that specific server using the MySQL ODBC driver only causes SE to die silently.
If I dismiss the warning with No, then SE becomes frozen with the Refreshing DB Explorer splash. The editor does not update, and the Modify Target Option hotkey doesn't do anything.
|
|
Wed Mar 20, 2019 9:13 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7948
|
|
|
|
For ADO.NET, please see https://mariadb.com/kb/en/library/adonet/. The MySQL ADO.NET data provider should work with MariaDB, but it's still important to choose MariaDB and the server type and SQL Assistance type otherwise internally it would execute wrong catalog queries designed for MySQL and nothing would work correctly.
|
|
Wed Mar 20, 2019 9:59 am |
|
 |
gemisigo
Joined: 11 Mar 2010 Posts: 2165
|
|
|
|
It seems that using ADO.NET works for both 32bit and 64bit versions of SE. Any way I can help nailing the libmariadb performance and ODBC issues on 64bit SE?
|
|
Thu Mar 21, 2019 6:59 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7948
|
|
|
|
Thanks a ton for your offer of help. I have submitted a new ticket for further investigation. Let's see if they reproduce this issue. If they cannot, we may need your help with that.
|
|
Fri Mar 22, 2019 1:10 pm |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7948
|
|
|
|
I was asked to ask you to confirm that you are choosing MariaDB database type in the drop-down and not MySQL.

|
|
Fri Mar 22, 2019 2:56 pm |
|
 |
gemisigo
Joined: 11 Mar 2010 Posts: 2165
|
|
|
|
Yes, MariaDB was the selected database type.
|
|
Mon Mar 25, 2019 4:44 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7948
|
|
|
|
It looks like the team was able to reproduce some issues with ODBC connections in 10.1.177. The root cause isn't completely clear but they say they made some change in 10.1.278 that should resolve that issue. That new build should be available in a day or two if all goes well.
|
|
Mon Mar 25, 2019 11:14 am |
|
 |
gemisigo
Joined: 11 Mar 2010 Posts: 2165
|
|
|
|
Great! Which is the (STT) preferred method for connecting to MariaDB databases? Libmariadb, ado.net, or ODBC?
|
|
Mon Mar 25, 2019 11:17 am |
|
 |
SysOp
Site Admin
Joined: 26 Nov 2006 Posts: 7948
|
|
|
|
I would think it's
libmariadb
ADO.NET with direct wire protocol implementation (without dependency on libmariadb or libmysql)
ODBC
|
|
Mon Mar 25, 2019 11:48 am |
|
 |
|