I am running a MariaDB Galera cluster and am trying to access MSSQL from within MariaDB on the first node. I have done this in the past on SLES 12 SP2, this time I am trying to do the same on RHEL 7.3.
Unfortunately, MariaDB says "Unknown storage engine 'Connect'" when trying to map a MSSQL table into an existing (but empty) database. I am a bit confused because the engine exists and is loaded. All required packages/libs are installed and placed within the filesystem.
The Error
MariaDB (database)> create table test123 ENGINE=connect table_type=ODBC tabname='123' Connection='Driver=123;Description=test;Server=someserver;Instance=someinstance;Port=1433;Database=TEST;PWD=SECRET;UID=some_user';
ERROR 1286 (42000): Unknown storage engine 'CONNECT'
When running the commands "show engines;" and "show plugins;", I can see that the CONNECT engine and the plugin ha_connect.so are loaded.
When using "isql" from the command line, I can successfully connect to MSSQL. So odbcinst.ini and odbc.ini are setup correctly.
What I tried
I looked up several tutorials on how to access MSSQL from MariaDB over ODBC, but I did not find something I missed or I did wrong. I also compared the old setup (SLES) with the new setup (RHEL), but I can't find any relevant difference.
I also straced MariaDB during "create table...", but it only says:
57079 access("./database/test123.frm", F_OK) = -1 ENOENT (No such file or directory)
57079 sendto(119, ")\0\0\1\377\6\5#42000Unknown storage engine 'CONNECT'", 45, MSG_DONTWAIT, NULL, 0) = 45
Sorry that I obfuscated some stuff here, but unfortunately I can't copy paste from the CLI due to the nature of how I connect to the relevant servers.
My environment
- RHEL 7.3
- MariaDB 10.2.9
- MariaDB-connect-engine 10.2.9
- unixODBC-utf16 2.3.1, msodbcsql 13.1.0
What I need help with
- Understanding why MariaDB claims that the storage engine "CONNECT" does not exist
- Solving this issue by successfully mapping MSSQL tables into MariaDB
Don't bother. After hours of research, I found a blog claiming that the msodbc drivers are not compatible with this specific MariaDB-connect-engine version. Unfortunately, I did not bookmark the relevant blog :(
However, on SLES 12 I used slightly different versions, and it worked out of the box.