when i create CONNECT table (example below) with ODBC to MSSQL and i set "CHARSET=utf8", table is created properly. But after "SELECT * FROM sample_product", after 2-3 seconds MariaDB crashed with "Uknown error". I need to start MariaDB service again. In MariaDB log is nothing relevant.
After debugging i find out, that crash is based on different collations. In MSSQL table is collation "Czech_CI_AS" and in it's char-columns are some Czech-specific characters, for example "čšěíů".
Solution: when i changed CHARSET to "cp1250", everythings works great.
It's OK - i don't expect explicit convert from cp1250 to utf8. But expect, that server throws an error about collations and not crash
CREATE TABLE sample_product (
col1 varchar(100) NOT NULL,
col2 varchar(100) NOT NULL
ENGINE=CONNECT CHARSET=utf8 CONNECTION='DSN=XXX;UID=XXX;PWD=XXX' table_type=odbc srcdef='SELECT col1, col2 FROM [test].[test]';