-
以前,应用程序可以设置
SslMode=none
连接选项以建立到非 TLS/SSL 启用服务器的经典 MySQL 协议或 X 协议连接。但是,如果应用程序试图建立未加密的连接并提交了与 TLS/SSL 相关的连接选项,Connector/NET 会确定选项组合不兼容并引发错误。不兼容的选项SslMode=none
有:CertificateFile
(Certificate File)
,CertificatePassword
(Certificate Password
),SslCa
(Ssl-Ca
),SslCert
(Ssl-Cert
),SslKey
(Ssl-Key
), 和tlsversion
(tls-version
,tls version
)。为了减少连接错误的数量并增强连接体验,Connector/NET 现在对连接进行了以下更改:
connection-option 值已
SslMode=none
弃用(标记为过时)并替换为SslMode=disabled
connection-option 值。与其他 TLS/SSL 连接选项结合使用时都
SslMode=none
不会SslMode=disabled
引发错误。现在删除了在同一连接字符串(或
ConnectionString
属性)中提交重复的 TLS/SSL 连接选项的限制。目前,.NET Framework 限制MySqlSslMode
在 X 协议连接的传统连接字符串中使用重复值。
Connector/NET 现在支持基于快速身份在线 (FIDO) 标准的身份验证方法。这种新的身份验证方法允许 MySQL 用户通过与本地设备交互来建立与服务器的连接,而不是通过提供密码(请参阅 连接器/NET 身份验证)。
对于试图检索列值的调用,该
MySqlDataReader.GetFieldValue<T>
方法返回异常BINARY
。(错误#33781449,错误#106244)在 Connector/NET 8.0.28 版本中
MySqlConnection.Open
,调用失败时 返回的异常类型 从 更改MySqlException
为 。AggregateException
此修复将异常恢复为原始类型 (MySqlException
)。(错误#33781445,错误#106242)调用对象的
GetSchema("Procedure Parameters")
方法时MySqlConnection
,返回的表包含列名,但没有任何代表集合的行。(错误#33674814,错误#105181)将日期时间 LINQ 表达式与数据库日期字段进行比较时,Connector/NET 返回无效操作异常,因为应用程序使用 EF Core 进行筛选所需的类不可用。(错误#32965150,错误#103436)
如果
SELECT
语句使用新行或制表符进行格式化,则相关字符 (\n
和\t
) 在查询分析期间将被忽略,并且 Connector/NET 会返回语法错误。(缺陷 #21971751,缺陷 #78760)当表与类一起使用以生成单表命令时,不支持 具有一列或多列类型为无符号
BIGINT
(无符号 64 位整数) 的主键。MySqlCommandBuilder
(错误#105768,错误#33650097)尽管该
MySqlCommand.Clone
方法返回了当前命令的副本,但MySqlCommand.Attributes
集合(MySqlAttributeCollection
对象)的内容并未复制到克隆的命令中。(错误#105730,错误#33613687)