安全性增强: 访问类型为
SQL_C_CHAR
、但数字类型和长度为零的参数时,参数标记将从查询中删除。此外,如果参数值具有非零长度且不是数字,则可能会发生 SQL 注入,文本将被逐字插入。(漏洞 #34575)重要更改: 在以前的版本中,SSL 证书在用作连接器/ODBC 连接的一部分时会自动进行验证。现在默认模式是忽略证书的验证。要在连接期间强制验证 SSL 证书,请使用
SSLVERIFY
DSN 参数,将值设置为 1。(缺陷 #29955,缺陷 #34648)使用 ADO 时,查询中的参数计数将始终返回零。(漏洞 #33298)
通过 ODBC 在表名或列名中使用带有单引号或其他非标准字符的表失败。(缺陷号 32989)
使用 Crystal Reports 时,表名和列名将被截断为 21 个字符,并且在截断名称重复的表中被截断的列将导致仅显示一个列。(漏洞 #32864)
SQLExtendedFetch()
如果设置了DSN 选项,则忽略SQLFetchScroll()
行集大小。Don't cache result
(漏洞 #32420)使用 ODBC
SQL_TXN_READ_COMMITTED
选项时,将从表中读取“脏”记录,就好像未应用该选项一样。(缺陷号 31959)-
在 Mac OS X 上使用 ODBC Administrator 创建系统 DSN 时,将创建一个用户 DSN。根本原因是 OS X 上使用的 iODBC 驱动程序管理器存在问题。修复解决了这个问题。
笔记/Library/ODBC/odbc.ini
除非文件具有正确的权限, 否则 ODBC 管理员可能仍然无法注册系统 DSN 。您应该确保该文件可由该admin
组写入。(漏洞 #31495)
使用 时调用
SQLFetch
orSQLFetchScroll
将返回负数据长度SQL_C_WCHAR
。(漏洞 #31220)SQLSetParam()
由于驱动程序管理器对已弃用函数的映射(缓冲区长度 -1)而导致内存分配错误。(漏洞 #29871)启用动态游标后,无法通过 ADO 使用静态游标。(漏洞 #27351)
在与 MySQL 5.0.37 及更高版本通信时,如果不声明 cmd 选项,则 使用
connection.Execute
基于表创建记录集 将失败。adCmdTable
该问题与SQLSTATE
ADO 尝试确认目标对象是否存在时返回的方式有关。(漏洞 #27158)RecordSet
当查询涉及BLOB
字段失败时 更新 a 。(漏洞 #19065)对于使用连接器/ODBC 与 MySQL 数据库的某些连接,连接会错误地报告“用户已取消”以访问数据库信息。(漏洞 #16653)