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

MySQL Connector/NET 8.0.28 的变化(2022-01-18,全面上市)

弃用和移除说明

  • TLSv1 和 TLSv1.1 连接协议之前已在 Connector/NET 8.0.26 中弃用,并且从该版本开始不再支持它们。可以使用更安全的 TLSv1.2 和 TLSv1.3 协议建立连接。

添加或更改的功能

  • Connector/NET 现在支持 .NET 6 并继续支持一系列框架(请参阅Connector/NET 版本)。

  • Connector/NET 现在完全支持 EF Core 6.0,适用于专门针对 .NET 6 的应用程序。以 .NET Framework(或任何 .NET Standard 版本)为目标的应用程序无法使用此功能。

  • .NET 应用程序现在可以使用多因素身份验证建立连接,这样最多可以在连接时指定三个密码。新 Password1Password2、 和 Password3连接选项可用于分别指定第一个、第二个和第三个多重身份验证密码。 Password1是现有 Password选项的同义词。

修正错误

  • 插入查询可能会发出格式错误的通信数据包错误。为防止错误,Connector/NET 现在在处理查询属性时省略了不必要的参数。(缺陷号 33380176)

  • 多主机连接尝试可能与第一台主机失败,发出错误消息,然后与下一台主机成功连接。此修复程序省略了初始错误消息以简化连接行为。(缺陷号 30581109)

  • Connector/NET 不支持utf8mb3字符集,这可能会导致与其他软件组件的兼容性问题。(错误#105516,错误#33556024)

  • TIME NOT NULL列中读取零时间值时,数据读取器可能会返回一个 NULL值而不是零,从而导致后续GetTimeSpan()调用失败。现在,如果 Connector/NETNULL在读取列值时遇到,它会将值重置为零时间 ( '00:00:00')。(缺陷 #105209,缺陷 #33470147)

  • 对于准备好的语句,时间跨度值中指定的微秒计算不正确。(缺陷 #103801,缺陷 #32933120)

  • Connector/NET 现在在创建值为零的参数时使用 C# 语言到枚举的隐式转换。(错误#101253,错误#32050204)

    参考资料:此问题是 Bug #25573071 的回归。

  • 尝试执行类的GetStream方法MySqlDataReader只返回异常。现在,方法GetStream(int i)实现返回 type 列的预期结果。(缺陷 #93374,缺陷 #28980953)BINARYGUID

  • 用于确定连接属性值长度的计算可能会在 MySQL 登录数据包中产生错误的格式。(缺陷 #92789,缺陷 #28824591)

  • .NET 提供程序缺少该类 的完整IConvertible实现。MySqlDateTime(缺陷 #82661,缺陷 #24495619)

  • 当 Connector/NET 创建参数时,使用默认值可能会导致类型不一致。此修复将 MySqlParameter构造函数修改为 set DbTypeMySqlDbTypeas strings。(漏洞 #81586,漏洞 #23343947)

  • 不处理超过该 max_allowed_packet值的批量插入,跳过插入尝试不会发出错误。(缺陷 #80693,缺陷 #22913833)

  • 当数据库包含全文索引时, 调用 MySqlConnection::GetSchema("IndexColumns") 意外检索到一个值并发出错误。NULL(错误#75301,错误#20266825)

  • 当 Connector/NET 克隆参数时, SourceColumnNullMapping复制的属性值错误。(缺陷 #74533,缺陷 #20056757)

  • 使用 执行批量插入时 MySqlDataAdapter, 为每个插入MySqlCommand.GetCommandTextForBatching() 查询的方法。@@sql_mode此修复消除了冗余操作并修改了使用sql_mode在连接开始时获得的属性的行为。(缺陷 #71626,缺陷 #20328929)