In the Strategy 2021 release, parameterized query is enabled by default for all newly created database connections against a list of Strategy certified Diamond and Platinum Gateways. With the parameterized query option enabled, reports containing text filters and prompts are executed using parameter markers during SQL execution.
However, some SQL query can cause memory corruption when parameterized query is enabled against MySQL 8.0 ODBC driver versions prior to 8.0.21.
The following is example of a problem SQL query:
select distinct `pa11`.`CUSTOMER_ID` `CUSTOMER_ID`,
CONCAT(`a12`.`CUST_LAST_NAME`, `a12`.`CUST_FIRST_NAME`) `CustCol_12`,
CONCAT((Case when `pa11`.`WJXBFS1` = ? then ? else ? end), `pa11`.`WJXBFS1`) `WJXBFS1`
from (select `a11`.`CUSTOMER_ID` `CUSTOMER_ID`,
max(CONCAT(`a11`.`CUST_LAST_NAME`, `a11`.`CUST_FIRST_NAME`)) `WJXBFS1`
from `lu_customer` `a11`
group by `a11`.`CUSTOMER_ID`
) `pa11`
join `lu_customer` `a12`
on (`pa11`.`CUSTOMER_ID` = `a12`.`CUSTOMER_ID`)
丁勤毅
真
假
This defect is know by MySQL and a fix is being addressed in Connector/ODBC 8.0.22 release. Please try working around the problem by upgrading the ODBC driver version to 8.0.22.