Description:
mysql-connector-odbc fails to connect to mariadb server via MaxScale
How to repeat:
1. install unixODBC and mysql-connector-odbc
# yum install unixODBC mysql-connector-odbc
2. create /etc/odbc.ini
===========[/etc/odbc.ini]==============
[customers]
Description = customers
Driver = MySQL
Database = customers
Server = 127.0.0.1
User = oracle
Password = password
Port = 3306
3. check the execution:
$ echo help | isql customers
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> help
Floating point exception
=====================================
and should be list of the tables, as in mysql-connector-odbc-5.3.4-1.el7.x86_64
or, to be specific, strace:
$ echo help|strace isql customers
[...skipped...]
open("/tmp/odbc-trace.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
lseek(4, 0, SEEK_END) = 6438
fstat(4, {st_mode=S_IFREG|0664, st_size=6438, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfffb6a000
write(4, "[ODBC][4259][1440682583.637898]["..., 111) = 111
close(4) = 0
munmap(0x7fdfffb6a000, 4096) = 0
brk(0) = 0x1dcc000
brk(0x1ded000) = 0x1ded000
open("/tmp/odbc-trace.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
lseek(4, 0, SEEK_END) = 6549
fstat(4, {st_mode=S_IFREG|0664, st_size=6549, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfffb6a000
write(4, "[ODBC][4259][1440682583.638721]["..., 106) = 106
close(4) = 0
munmap(0x7fdfffb6a000, 4096) = 0
open("/tmp/odbc-trace.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
lseek(4, 0, SEEK_END) = 6655
fstat(4, {st_mode=S_IFREG|0664, st_size=6655, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdfffb6a000
write(4, "[ODBC][4259][1440682583.639324]["..., 179) = 179
close(4) = 0
munmap(0x7fdfffb6a000, 4096) = 0
sendto(3, "\330\0\0\0\3SELECT TABLE_NAME, TABLE_CO"..., 220, 0, NULL, 0) = 220
recvfrom(3, "\1\0\0\1\4H\0\0\2\3def\22information_schema"..., 16384, 0, NULL, NULL) = 513
sendto(3, "\22\0\0\0\3select database()", 22, 0, NULL, 0) = 22
recvfrom(3, "\1\0\0\1\1 \0\0\2\3def\0\0\0\ndatabase()\0\f!\0f"..., 16384, 0, NULL, NULL) = 73
--- SIGFPE {si_signo=SIGFPE, si_code=FPE_INTDIV, si_addr=0x7fdffe25cd7f} ---
+++ killed by SIGFPE +++
Floating point exception
==================================================