MySQL Workbench 发行说明  / MySQL Workbench 6.0 中的变化  /  MySQL 连接器/NET 6.0.6 的变化 (2010-04-28)

MySQL 连接器/NET 6.0.6 的变化 (2010-04-28)

修复了 6.0.5 以来的错误。

添加或更改的功能

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

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

  • MySQL 连接器/NET 已更改为包括 MySqlDataReader.GetFieldType(string columnname). 此外, MySqlDataReader.GetOrdinal()如果未找到该列,现在在异常中包含该列的名称。(漏洞 #47467)

修正错误

  • 如果使用 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)

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

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

  • 在 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)

  • SQL 中的非终止字符串抛出 CLR 异常而不是语法异常。(漏洞 #51788)

  • 调用ExecuteNonQuery命令对象时,发生以下异常:

    Index and length must refer to a location within the string.
    Parameter name: length

    (漏洞 #51610)

  • Command.TrimSemicolons使用 的方法StringBuilder,因此为查询分配了内存,即使它不需要修剪。这导致在执行大量大型查询时内存消耗过多。(漏洞 #51149)

  • MySqlCommand.Parameters.Clear()不工作。(缺陷号 50444)

  • 调用该MySqlScript.execute()方法时,会生成以下异常:

    InvalidOperationException : The CommandText property has not been properly initialized.

    (缺陷号 50344)

  • 二进制列未显示在 Visual Studio 的查询生成器中。(漏洞 #50171)

  • 当该UpdateBatchSize属性设置为大于 1 的值时,只有第一行应用于数据库。(漏洞 #50123)

  • 当使用 table per type 继承并列出父表的内容时,查询的结果是子对象列表,即使没有具有相同父 Id 的相关子记录。(漏洞 #49850)

  • MySqlDataReader.GetUInt64BIGINT UNSIGNED读取包含大于 2147483647 的值的列时返回不正确的值。 (缺陷 #49794)

  • FormatException当从存储函数返回空字符串时生成 A。(漏洞 #49642)

  • 在Visual Studio 2008中添加数据集时,产生如下错误:

    Relations couldn't be added. Column 'REFERENCED_TABLE_CATALOG' does not belong to table.

    这是因为“REFERENCED_TABLE_CATALOG”列未包含在外键集合中。(漏洞 #48974)

  • 尝试在用户没有写权限的文件上执行加载数据本地 infile,或者文件在编辑器中打开会导致访问被拒绝错误。(漏洞 #48944)

  • 该方法在decimal 和 newdecimal 列MySqlDataReader.GetSchemaTable() 的字段中返回 0 。NumericPrecision(漏洞 #48171)

  • 尝试从 SQL 脚本创建存储过程时, MySqlException在尝试重新定义时抛出DELIMITER

    MySql.Data.MySqlClient.MySqlException was unhandled
    Message="You have an error in your SQL syntax; check the manual that corresponds to your
    MySQL server version for the right syntax to use near 'DELIMITER' at line 1"
    Source="MySql.Data"
    ErrorCode=-2147467259
    Number=1064
    StackTrace:
    à MySql.Data.MySqlClient.MySqlStream.ReadPacket()
    à MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64&
    lastInsertId)
    à MySql.Data.MySqlClient.MySqlDataReader.GetResultSet()
    à MySql.Data.MySqlClient.MySqlDataReader.NextResult()
    à MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
    à MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
    à MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
    à MySql.Data.MySqlClient.MySqlScript.Execute()

    注意:MySqlScript该类已修复以支持 SQL 脚本中的定界符语句。(漏洞 #46429)

  • 在 Entity Framework 中使用 Entity SQL 调用用户定义的函数会导致NullReferenceException. (漏洞 #45277)

  • web.config关闭 Visual Studio 2008 Professional 后无法重新使用 设置的连接字符串。它继续适用于现有控件,但不适用于添加的新控件。(漏洞 #41629)