Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 8.0 中的更改  /  MySQL Connector/ODBC 8.0.30 的变化(2022-07-26,全面上市)

MySQL Connector/ODBC 8.0.30 的变化(2022-07-26,全面上市)

认证注意事项

  • 用大括号转义的密码参数不会在密码值中转义右大括号。(错误#106631,错误#33986051)

  • 添加了对 FIDO 可插入身份验证机制的回调支持。通过定义一个常量来使用,例如 CB_FIDO_GLOBAL注册一个全局回调函数或者CB_FIDO_CONNETION它是否是特定于连接的。这些由 SQLSetConnectAttr() 使用,例如SQLSetConnectAttr(hdbc, CB_FIDO_GLOBAL, &my_user_callback, SQL_IS_POINTER);. 有关其他使用详细信息,请参阅 连接器/ODBC FIDO 信息

字符集支持

  • 添加了对 MySQL Server 8.0.30 中添加的新的特定于语言的 utf8mb4 排序规则的支持。(缺陷号 34109678)

    参考资料:另请参阅:Bug #31885256。

  • 驱动程序的默认字符集更改为 utf8mb4。以前它默认为 utf8,这是已弃用的 utf8mb3 的别名。使用 utf8mb3 可能会导致问题,例如错误地插入和选择表情符号。(错误#107698、错误#34031488、错误#34350980)

编译笔记

  • 改进了 RPM/DEB/MSI 包。对于 RPM/DEB:现在 GTK2 或 GTK3 是先决条件(以前两者都需要),并且 -setup 包现在设置为推荐。对于 Windows:停止导入库(例如 myodbc8a.lib)并仅包含 DLL,并停止包含 PDB 调试文件。还改进了 BUNDLE_DEPENDENCIES 和 MAINTAINER_MODE CMake 选项以检查是否存在所需的捆绑插件和第三方库。

添加或更改的功能

  • 添加了 tls-versions 连接选项以定义允许的 TLS 协议版本。

    tls-versions接受 TLSv1.2 和/或 TLSv1.3。其他值会产生错误。用法示例: tls-versions=TLSv1.2,TLSv1.3。如果未设置,该值由 libmysqlclient 设置,并且对 ssl-mode=DISABLED没有影响。该选项会覆盖(禁用)相关的 NO_TLS_X_Y 连接器/ODBC 连接选项,例如 NO_TLS_1_2。

    相关的,TLSv1 和 TLSv1.1 支持已从 MySQL Server 8.0.28 中删除。

修正错误

  • 在启用 NO_CACHE 的情况下,SQL_C_DOUBLE 类型可能会作为不准确的结果返回。(错误#107307,错误#34180568)

  • 修复ODBC数据源重连导致的内存泄露问题;现在在 DLL_PROCESS_DETCH 事件上调用 mysql_library_end()。

    解决方法是为每个新连接重用 ENV。(错误#106886,错误#34030930)

  • SQLCancel() 不是线程安全的;它和其他 ODBC API 函数现在是线程安全的。(错误#91951、错误#105606、错误#33884811)