此版本修复了自 6.1.3 以来的错误。
-
过程缓存有一个问题,如果您创建一个过程,删除它,然后使用不同数量的参数重新创建它,则会生成异常。
MySQL Connector/NET 已更改,因此如果使用不同数量的参数重新创建过程,它仍会被识别。(漏洞 #52562)
MySQL 连接器/NET 已更改为包括
MySqlDataReader.GetFieldType(string columnname)
. 此外,MySqlDataReader.GetOrdinal()
如果未找到该列,现在在异常中包含该列的名称。(漏洞 #47467)
在 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));
这是因为 MySQL
latin1
字符集与字符集相同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.GetUInt64
BIGINT 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)