第一个测试版。此版本修复了自 6.3.1 以来的错误。
-
过程缓存有一个问题,如果您创建一个过程,删除它,然后使用不同数量的参数重新创建它,则会生成异常。
MySQL Connector/NET 已更改,因此如果使用不同数量的参数重新创建过程,它仍会被识别。(漏洞 #52562)
MySQL 连接器/NET 已更改为包括
MySqlDataReader.GetFieldType(string columnname)
. 此外,MySqlDataReader.GetOrdinal()
如果未找到该列,现在在异常中包含该列的名称。(漏洞 #47467)
发生异常后,内部数据读取器
MySqlCommand.Connection.Reader
未正确关闭(未设置为空)。如果随后对该命令对象执行了另一个查询,则会生成异常并显示消息“已经有一个打开的 DataReader 与此连接关联,必须先将其关闭。” (漏洞 #55558)TEXT
MySQL Connector/NET 在用于读取包含超过 32767 字节 的列时生成异常 。(漏洞 #54040)在 MySQL Connector/NET 中,该
MySqlConnection.Abort()
方法包含一个try...catch
结构,带有一个空catch
块。这意味着此时生成的任何异常都不会被捕获。(漏洞 #52769)过程缓存影响了 MySQL Connector/NET 性能,降低了大约 65%。这是由于
String.Format()
与调试日志记录相关的 , 的不必要调用。即使日志记录被禁用,字符串仍在格式化,导致性能受损。(漏洞 #52475)如果
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)
MySQL Connector/NET 6.3.1 安装失败。(错误 #51407,错误 #51604)
当使用 table per type 继承并列出父表的内容时,查询的结果是子对象列表,即使没有具有相同父 Id 的相关子记录。(漏洞 #49850)