MySQL Workbench 发行说明  / MySQL Workbench 6.2 中的变化  /  MySQL Connector/NET 6.2.1(2009-11-16,测试版)的变化

MySQL Connector/NET 6.2.1(2009-11-16,测试版)的变化

此版本修复了自 6.2.0 以来的错误。

添加或更改的功能

  • 该类MySqlParameter现在有一个名为 的属性PossibleValues。除非该参数是由创建的,否则此属性为 NULL MySqlCommandBuilder.DeriveParameters。此外,除非参数是枚举或集合类型,否则它将为 NULL - 在这种情况下,它将是一个字符串列表,这些字符串是该列的可能值。此功能旨在帮助开发人员。(漏洞 #48586)

  • 在 MySQL Connector/NET 6.2 之前, MySqlCommand.CommandTimeout包括用户处理时间,即与直接使用连接器无关的处理时间。超时是通过 .NET 计时器实现的,该计时器会在CommandTimeout 几秒后触发。

    MySQL Connector/NET 6.2 引入了与 Microsoft 处理SqlCommand.CommandTimeout. 此属性是命令执行或结果处理期间所有网络读取和写入的累积超时。返回第一行后方法中仍可能发生超时 MySqlReader.Read,并且不包括用户处理时间,仅包括 IO 操作。

    有关这方面的更多详细信息,请参阅相关的 Microsoft 文档

  • 从 MySQL Connector/NET 6.2 开始,有一个后台作业每三分钟运行一次,并从池中删除空闲(未使用)超过三分钟的连接。池清理释放客户端和服务器端的资源。这是因为在客户端,每个连接都使用一个套接字,而在服务器端,每个连接都使用一个套接字和一个线程。

    在此更改之前,连接从未从池中删除,并且池始终包含打开连接的峰值数。例如,一个峰值为 1000 个并发数据库连接的 Web 应用程序将在服务器上消耗 1000 个线程和 1000 个打开的套接字,而不会从连接池中释放这些资源。

  • MySQL Connector/NET 现在支持在连接到启用 SSL 的 MySQL 服务器时处理证书。有关详细信息,请参阅教程:使用连接器/NET 配置 SSL

修正错误

  • 的克隆MySqlCommand不是类型安全的。要克隆 a MySqlCommand,必须执行以下操作:

    MySqlCommand clone = (MySqlCommand)((ICloneable)comm).Clone();

    MySQL Connector/NET 已更改,以便可以执行以下操作:

    MySqlCommand clone = comm.Clone();

    (漏洞 #48460)

  • 使用时,Encrypt连接字符串选项导致生成不支持关键字异常。

    该选项实际上已过时,应改用选项 SSL 模式。尽管该Encrypt选项已得到修复,因此它不会生成异常,但它将在 6.4 版中完全删除。(漏洞 #48290)

  • MySql.Data安装了 .NET Framework 3.5 的情况下构建项目时,显示以下构建输出:

    Project file contains ToolsVersion="4.0", which is not supported by this version of
    MSBuild. Treating the project as if it had ToolsVersion="3.5".

    该项目是使用 .NET Framework 4.0(测试版)创建的,而不是使用 3.5 框架。(漏洞 #48271)

  • 如果值大于 .NET 类型支持的值,则无法从 MySQL 服务器表中检索值System.Decimal

    MySQL Connector/NET 已更改为公开 MySqlDecimal类型以及支持方法GetMySqlDecimal。(漏洞 #48100)

  • 从包含具有类型列的表UNSIGNED BIGINT和表视图的模式创建的实体模型行为不正确。创建实体并将其映射到视图时,类型的列 UNSIGNED BIGINT显示为 BIGINT。(漏洞 #47872)

  • MySQL 连接器/NET 会话支持不适用于 5.0 之前的 MySQL 服务器版本,因为会话提供程序使用对 的调用 TIMESTAMPDIFF,这在 5.0 之前的服务器上不可用。(漏洞 #47219)