MySQL Workbench 发行说明  / MySQL Workbench 6.2 中的变化  /  MySQL 连接器/NET 6.2.4 的变化 (2010-08-30)

MySQL 连接器/NET 6.2.4 的变化 (2010-08-30)

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

添加或更改的功能

  • 过程缓存有一个问题,如果您创建一个过程,删除它,然后使用不同数量的参数重新创建它,则会生成异常。

    MySQL Connector/NET 已更改,因此如果使用不同数量的参数重新创建过程,它仍会被识别。(漏洞 #52562)

修正错误

  • Session Provider 中的计算lockAge有时会生成一个 System.Data.SqlTypes.SqlNullValueException. (漏洞 #55701)

  • 尝试Double.MinValueDOUBLEMySQL 表中的列读取生成以下异常:

    System.OverflowException : Value was either too large or too small for a Double.
    
    --OverflowException
    at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo
    numfmt)
    at MySql.Data.Types.MySqlDouble.MySql.Data.Types.IMySqlValue.ReadValue(MySqlPacket
    packet, Int64 length, Boolean nullVal)
    at MySql.Data.MySqlClient.NativeDriver.ReadColumnValue(Int32 index, MySqlField field,
    IMySqlValue valObject)
    at MySql.Data.MySqlClient.ResultSet.ReadColumnData(Boolean outputParms)
    at MySql.Data.MySqlClient.ResultSet.NextRow(CommandBehavior behavior)
    at MySql.Data.MySqlClient.MySqlDataReader.Read()

    (漏洞 #55644)

  • 发生异常后,内部数据读取器 MySqlCommand.Connection.Reader未正确关闭(未设置为空)。如果随后对该命令对象执行了另一个查询,则会生成异常并显示消息已经有一个打开的 DataReader 与此连接关联,必须先将其关闭。 (漏洞 #55558)

  • 如果使用 MySQL Server 5.0.x,则无法在 Visual Studio 中更改存储的例程。如果单击存储的例程,并选择上下文相关菜单选项 Alter Routine,则会生成以下错误:

    Unable to load object with error: Object reference not
    set to an instance of an object

    (漏洞 #55170)

  • MySqlDataAdapter.Update()为使用的自定义存储过程驱动的更新命令生成并发冲突 UpdateRowSource.FirstReturnedRecord。(漏洞 #54895)

  • 多次调用 以DataAdapter.Update()进行干预更改DataTable导致 ConcurrencyException生成异常。(漏洞 #54863)

  • MySQL Web 配置工具的图标未显示在 Visual Studio for Web 应用程序项目中。(漏洞 #54571)

  • MySqlHelper对象没有ExecuteReader 接受MySqlConnection 对象的方法的重载版本。(漏洞 #54570)

  • 如果MySqlDataAdapter与 子句中包含带括号的表达式 的INSERT命令 一起使用,并且将参数设置为大于 1,那么调用 要么生成异常,要么无法批处理命令,单独执行每个插入。(漏洞 #54386)VALUESadapter.UpdateBatchSizeadapter.Update

  • 该方法 MySql.Data.Common.QueryNormalizer.CollapseValueList 生成了一个ArgumentOutOfRangeException. (错误#54152,错误#53865)

  • MySQL Connector/NET 没有Thread.Abort() 正确处理,无法取消当前在服务器上运行的查询。(漏洞 #54012)

  • 垃圾收集器处理 MySqlConnection对象导致以下异常:

    System.IO.EndOfStreamException: Attempted to read past the end of the stream.
    MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset,
    Int32 count)
    MySql.Data.MySqlClient.MySqlStream.LoadPacket()
    Outer Exception Reading from the stream has failed.
    ...

    (漏洞 #53457)

  • 超出时 MySQL Connector/NET 没有抛出EndOfStreamException 异常。net_write_timeout(漏洞 #53439)

  • 超时异常后,如果尝试重用返回到连接池的连接,则会生成以下异常:

    [MySqlException (0x80004005): There is already an open DataReader associated with this
    Connection which must be closed first.]
       MySql.Data.MySqlClient.MySqlCommand.CheckState() +278
       MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) +43
       MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() +6
       Controls.SimpleCommand.ExecuteReader(String SQL) in ...:323
       Albums.GetImagesByAlbum(SimpleCommand Cmd, Int32 iAlbum, String Order, String Limit)
    in ...:13
       Forecast.Page_Load(Object sender, EventArgs e) in ...:70
       System.Web.UI.Control.OnLoad(EventArgs e) +99
       System.Web.UI.Control.LoadRecursive() +50
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean
    includeStagesAfterAsyncPoint) +627

    (漏洞 #53357)

  • 如果默认架构排序规则不是 Latin1,则成员架构创建失败。(漏洞 #53174)

  • 在 MySQL Connector/NET 中,该MySqlConnection.Abort() 方法包含一个try...catch结构,带有一个空catch块。这意味着此时生成的任何异常都不会被捕获。(漏洞 #52769)

  • EventLog 未在 SessionState 提供程序中处理。(漏洞 #52550)

  • 过程缓存影响了 MySQL Connector/NET 性能,降低了大约 65%。这是由于 String.Format()与调试日志记录相关的 , 的不必要调用。即使日志记录被禁用,字符串仍在格式化,导致性能受损。(漏洞 #52475)

  • 如果FunctionsReturnString=true在连接字符串中使用,则不解释小数点分隔符(根据区域设置)。(漏洞 #52187)

  • 会话提供者定期抛出 SqlNullValueException异常。发生这种情况时, my_aspnet_Sessions表中 的行locked始终设置为“1”。锁定状态从未变回“0”并且用户在每个页面上都遇到异常,直到他们的浏览器关闭并重新打开(重新创建一个新的 sessionID),或者该locked 值被手动更改为“0”。(漏洞 #52175)

  • CHAR(36)在带有实体模型的视图中使用时,列未被识别为 GUID。(漏洞 #52085)

  • 在 MySQL Connector/NET 中,类的LoadCharsetMap()函数CharSetMap设置了以下不正确的映射:

    mapping.Add("latin1", new CharacterSet("latin1", 1));

    这意味着,例如,欧元符号没有被正确处理。

    正确的映射应该是:

    mapping.Add("latin1", new CharacterSet("windows-1252", 1));

    这是因为 MySQLlatin1字符集与字符集相同windows-cp1252 ,它扩展了官方的 ISO 8859-1 或 IANA latin1。(漏洞 #51927)

  • 如果在不返回任何结果集的数据集中使用过程,则存储过程枚举代码会生成错误。(漏洞 #50671)

  • 当应用程序承受增加的并发负载时,MySQL Connector/NET 在调用存储过程时生成以下错误:

    A DataTable named \'Procedure Parameters\'
    already belongs to this DataSet.

    (漏洞 #49118)

  • 在 ADO.NET 实体数据模型向导中,随着实体数量的增加,更新模型的时间异常增加。(错误#48791,错误#12596237)

  • 当启用压缩时,与 5.x 相比,MySQL Connector/NET 6.x的INSERT命令速度明显变慢。(漏洞 #48243)

  • 当使用连接字符串选项Connection Reset = True时,连接重置使用先前使用的编码进行后续身份验证操作。例如,如果使用 UCS2 读取重置前的最后一列,这将失败。(漏洞 #47153)

  • 在 Visual Studio Server Explorer 中打开连接并选择更改现有例程需要在服务器上进行另一次身份验证。(漏洞 #44715)

  • 中使用批处理时MySqlDataAdapter,中没有自动打开连接 MySqlDataAdapter.Update()。这导致InvalidOperationException生成异常,消息文本为连接必须有效且打开

    MySQL Connector/NET 已更改为更像 SQL Server:如果连接关闭,则在更新操作期间打开它。(漏洞 #38411)

  • 数据库名称被发送到类型化数据集中。这会阻止用户使用配置的默认数据库。(漏洞 #33870)