连接器不再使用 ICSharpCode ZipLib,也不再随它分发。
重要更改:此版本不再提供 .NET 1.0 的二进制文件。如果您需要对 .NET 1.0 的支持,则必须从源代码构建。
改进
CommandBuilder.DeriveParameters
为在查询存储过程元数据之前先尝试使用过程缓存。使用创建的返回参数DeriveParameters
现在具有名称RETURN_VALUE
。一个
Ignore Prepare
选项已添加到连接字符串选项。如果启用,准备好的语句将在整个应用程序范围内禁用。此选项的默认值为 true。实现了存储过程缓存。默认情况下,连接器缓存最近看到的 25 个过程的元数据。您可以使用
procedure cache
连接字符串更改缓存的过程数。-
重要变化:由于使用服务器端准备好的语句存在一些问题,MySQL Connector/NET 5.0.2 默认禁用它们。禁用服务器端准备好的语句不会以任何方式影响连接器的操作。
要启用服务器端准备好的语句,您必须将以下配置属性添加到连接器字符串属性中:
ignore prepare=false
此属性的默认值为 true。
带有负值的时间将被错误地返回。(漏洞 #25912)
MySqlConnection
连接到 MySQL v4.1.7 时抛出NullReferenceException
and 。ArgumentNullException
(漏洞 #25726)SELECT
WHERE
使用包含 UTF-8 字符串的子句时无法正常工作。(漏洞 #25651)关闭然后重新打开与数据库的连接时,字符集规范会丢失。(漏洞 #25614)
尝试通过存储过程填充表架构会触发运行时错误。(漏洞 #25609)
ExecuteScalar()
与多个查询一起 使用,其中一个查询失败,将挂起连接。(漏洞 #25443)添加到错误消息的附加文本。(漏洞 #25178)
将参数对象添加到命令对象时,如果参数方向设置为
ReturnValue
在参数添加到命令对象之前,则在执行命令时会抛出错误。(漏洞 #25013)连接到服务器时,即使主机名不正确,连接的返回码也可能为零。(漏洞 #24802)
使用
Driver.IsTooOld()
会返回错误的值。(漏洞 #24661)当使用 a
DbNull.Value
作为参数值的值,然后设置特定的值类型时,命令失败并出现异常,因为DbNull.Value
. (漏洞 #24565)存储过程执行不是线程安全的。(漏洞 #23905)
这
CommandBuilder
会错误地为启用了自动递增的表列添加插入参数。(漏洞 #23862)一个启用了 IPv6 的系统,MySQL Connector/NET 会错误地解析主机名。(漏洞 #23758)
System.OverflowException
访问超过 255 字节的 varchar 字段时会引发 an 。(漏洞 #23749)嵌套事务不会引发错误或警告。(漏洞 #22400)
在 Mono 中,使用
PreparedStatement
接口可能会由于BitArray
复制错误而导致错误。(漏洞 #18186)