ODBC select 查询文本字段 return 无记录

ODBC select query with text field return no record

我在 mysql table - 产品(product_id int,名称 varchar,描述文本)。
我使用最新的 ODBC 驱动程序通过参数化查询从 excel (VBA) 连接到 mysql:

dim DCONT as ADODB.Connection
set DCONT = new ADODB.Connection
DCONT.open "DSN=myDSN"

set cmd = new ADODB.command
cmd.commandtext = "SELECT product_id, name FROM products WHERE name LIKE ?" 
set param1=cmd.createparameter("@strName", advarchar, adparaminput, 30, "%testvalue%"
cmd.parameters.append param1
cmd.activeconnection = DCONT
dim rsRecords = new ADODB.recordset
rsRecords.open cmd

此代码 return 正确请求了记录。 当我将命令文本更改为(查询包括来自 table(字段类型文本)的字段描述)

cmd.commandtext = "SELECT product_id, name, description FROM products WHERE name LIKE ?" 

它returns 没有记录。 以同样的方式当我使用这个查询

cmd.commandtext = "SELECT * FROM products WHERE name LIKE ?" 

它returns 没有记录。

没有参数化查询的下一个代码 returns 请求的记录。这意味着仅通过使用参数化查询 returning 记录存在问题。

dim DCONT as ADODB.Connection
set DCONT = new ADODB.Connection
DCONT.open "DSN=myDSN"

set cmd = new ADODB.command
cmd.commandtext = "SELECT product_id, name, description FROM products WHERE name LIKE '%testvalue%'"
cmd.activeconnection = DCONT
dim rsRecords = new ADODB.recordset
rsRecords.open cmd

有什么建议吗?

解决方案 -> 需要升级到最新的MySQL ODBC 8.0 ANSI 驱动程序,版本 8.00.13.00,然后一切正常。