Skip to Content

Acces violation at table related SQL commands (MaxDB + unixODBC + Qt5.9)

I've found an issue in your Linux ODBC driver library (libsdbodbc, libsdbodbcw).

In Qt ODBC SQL statements are executed via SQLSetStmtAttr(SQL_ATTR_CURSOR_TYPE) and SQLExecDirect().
Since Qt <strong>always</strong> sets the attribute 'SQL_ATTR_CURSOR_TYPE' this fails if a SQL command doesn't provide any 'cursor' (for instance table-related commands: CREATE, DROP, ALTER).
In older versions of your library this attribute seems to be ignored in table-related commands, but these commands fail now with an unexpected error: 'Syntax error or access violation;-3014 POS(30) Invalid end of SQL statement'. This position value (POS(30)) is the length of the SQL statement plus 2, so it's obviously an access violation.<br>
Could you fix this issue?

OS: ubuntu 18.04<br>MaxDB: Version 13.03.2018
unixODBC: 2.3.7<br>Qt: 5.9.5<br>
Add comment
10|10000 characters needed characters exceeded

0 Answers