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 应用程序现在可以使用多因素身份验证建立连接,这样最多可以在连接时指定三个密码。新
Password1
的Password2
、 和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)BINARY
GUID
用于确定连接属性值长度的计算可能会在 MySQL 登录数据包中产生错误的格式。(缺陷 #92789,缺陷 #28824591)
.NET 提供程序缺少该类 的完整
IConvertible
实现。MySqlDateTime
(缺陷 #82661,缺陷 #24495619)当 Connector/NET 创建参数时,使用默认值可能会导致类型不一致。此修复将
MySqlParameter
构造函数修改为 setDbType
和MySqlDbType
as 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)