这是一个新版本,修复了最近发现的错误。
-
的克隆
MySqlCommand
不是类型安全的。要克隆 aMySqlCommand
,必须执行以下操作:MySqlCommand clone = (MySqlCommand)((ICloneable)comm).Clone();
MySQL Connector/NET 已更改,以便可以执行以下操作:
MySqlCommand clone = comm.Clone();
(漏洞 #48460)
-
如果
MySqlConnection.GetSchema
在名为“ b`a`d ”的表上调用“索引” ,如下所示:DataTable schemaPrimaryKeys = connection.GetSchema( "Indexes", new string[] { null, schemaName, "b`a`d"});
然后产生了以下异常:
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 'a`d`' at line 1
(漏洞 #48101)
-
如果值大于 .NET 类型支持的值,则无法从 MySQL 服务器表中检索值
System.Decimal
。MySQL Connector/NET 已更改为公开
MySqlDecimal
类型以及支持方法GetMySqlDecimal
。(漏洞 #48100) 从包含具有类型列的表
UNSIGNED BIGINT
和表视图的模式创建的实体模型行为不正确。创建实体并将其映射到视图时,类型的列UNSIGNED BIGINT
显示为BIGINT
。(漏洞 #47872)-
将Connector/NET源码包含的文件加载
MySQLClient-mono.sln
到Mono Develop时,出现如下错误:/home/tbedford/connector-net-src/6.1/MySQLClient-mono.sln(22): Unsupported or unrecognized project: '/home/tbedford/connector-net-src/6.1/Installer/Installer.wixproj'
如果修改文件以消除此问题,则尝试构建解决方案会生成以下错误:
/home/tbedford/connector-net-src/6.1/MySql.Data/Provider/Source/Connection.cs(280,46): error CS0115: `MySql.Data.MySqlClient.MySqlConnection.DbProviderFactory' is marked as an override but no suitable property found to override
(漏洞 #47048)
-
如果在连接到 MySQL 服务器期间发生错误,则从数据包缓冲区反序列化错误消息
NullReferenceException
会导致抛出 。当该方法MySqlPacket::ReadString()
试图检索错误消息时,以下代码行抛出异常:string s = encoding.GetString(bits, (int)buffer.Position, end - (int)buffer.Position);
这是因为编码字段没有正确初始化。(漏洞 #46844)
在
MySqlDataReader
类中,GetSByte
函数返回一个byte
值而不是一个sbyte
值。(漏洞 #46620)-
MySQL 连接器/NET 配置文件提供程序
MySql.Web.Profile.MySQLProfileProvider
在 Mono 上运行时生成错误。当尝试在字符串中保存字符串时,Profile.Name
该字符串未保存到my_aspnet_Profiles
表中。如果尝试强制保存并Profile.Save()
生成以下错误:Server Error in '/mono' Application -------------------------------------------------------------------------------- The requested feature is not implemented. Description: HTTP 500. Error processing request. Stack Trace: System.NotImplementedException: The requested feature is not implemented. at MySql.Data.MySqlClient.MySqlConnection.EnlistTransaction (System.Transactions.Transaction transaction) [0x00000] at MySql.Data.MySqlClient.MySqlConnection.Open () [0x00000] at MySql.Web.Profile.MySQLProfileProvider.SetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyValueCollection collection) [0x00000] -------------------------------------------------------------------------------- Version information: Mono Version: 2.0.50727.1433; ASP.NET Version: 2.0.50727.1433
(漏洞 #46375)
TIMESTAMP
在 Entity Framework 中使用列 时发生异常 。(漏洞 #46311)MySQL Connector/NET 有时会挂起,但不会产生异常。如果从流中读取失败返回 0,导致代码
LoadPacket()
进入无限循环,就会发生这种情况。(漏洞 #46308)-
使用 MySQL Connector/NET 6.0.4 和 MySQL Server 4.1 时,在尝试执行时会生成异常:
connection.GetSchema("Columns", ...);
生成的异常是:
'connection.GetSchema("Columns")' threw an exception of type 'System.ArgumentException'System.Data.DataTable {System.ArgumentException} base{"Input string was not in a correct format.Couldn't store <'Select'> in NUMERIC_PRECISION Column. Expected type is UInt64."}System.Exception {System.ArgumentException}
(漏洞 #46270)
-
MySQL Connector/NET 方法
StoredProcedure.GetParameters(string)
忽略了程序员对该UseProcedureBodies
选项的设置。这破坏了任何应用程序的参数名称与存储过程中的参数名称不匹配的应用程序,导致出现ArgumentException
消息 “在集合中找不到参数'foo'。”和以下堆栈跟踪:MySql.Data.dll!MySql.Data.MySqlClient.MySqlParameterCollection.GetParameterFlexible(stri ng parameterName = "pStart", bool throwOnNotFound = true) Line 459C# MySql.Data.dll!MySql.Data.MySqlClient.StoredProcedure.Resolve() Line 157 + 0x25 bytesC# MySql.Data.dll!MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(System.Data.CommandBeha vior behavior = SequentialAccess) Line 405 + 0xb bytesC# MySql.Data.dll!MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(System.Data.Comma ndBehavior behavior = SequentialAccess) Line 884 + 0xb bytesC# System.Data.dll!System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(System .Data.CommandBehavior behavior) + 0xb bytes System.Data.dll!System.Data.Common.DbDataAdapter.FillInternal(System.Data.DataSet dataset = {System.Data.DataSet}, System.Data.DataTable[] datatables = null, int startRecord = 0, int maxRecords = 0, string srcTable = "Table", System.Data.IDbCommand command = {MySql.Data.MySqlClient.MySqlCommand}, System.Data.CommandBehavior behavior) + 0x83 bytes System.Data.dll!System.Data.Common.DbDataAdapter.Fill(System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior) + 0x120 bytes System.Data.dll!System.Data.Common.DbDataAdapter.Fill(System.Data.DataSet dataSet) + 0x5f bytes
(漏洞 #46213)
MySQL 转换
TINYINT(1)
失败boolean
。(错误#46205、错误#46359、错误#41953)-
使用表编辑器在 Visual Studio 中填充 MySQL 数据库表时,如果将
VARCHAR(10)
列更改为VARCHAR(20)
列,则会生成异常:SystemArgumentException: DataGridViewComboBoxCell value is not valid. To replace this default dialog please handle the DataError Event.
(漏洞 #46100)
-
在 MySQL Connector/NET 6.0.4 中使用
GetProcData
生成错误,因为parameters
仅当 MySQL 服务器版本至少为 6.0.6 或UseProcedureBodies
连接字符串选项设置为 true 时才创建数据表。该
DeriveParameters
命令还生成空引用异常。这是因为 在循环parameters
中使用了空的数据表。for each
(漏洞 #45952) -
使用和方法时, 实体框架提供程序未
DBSortExpression
正确 调用,例如在以下语句中:Skip
Take
TestModel.tblquarantine.OrderByDescending(q => q.MsgDate).Skip(100).Take(100).ToList();
这导致数据未排序。(漏洞 #45723)
代码通过多次
EscapeString
调用进行了转义。string.Replace
这导致了性能瓶颈,因为每一行都会分配一个新字符串,而垃圾收集器会处理掉另一个字符串。(漏洞 #45699)-
将
Allow Batch=False
选项添加到连接字符串会导致 MySQL Connector/NET 生成错误: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 'SET character_set_results=NULL' at line 1
(漏洞 #45502)
-
MySQL Connector/NET 6.0.4 安装程序因错误而失败。生成的错误消息是:
There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.
单击“确定”以确认安装程序退出的错误。(漏洞 #45474)
-
使用连接字符串选项连接到 MySQL 服务器的 MySQL 连接器/NET 测试程序
compress=true
崩溃,但仅当在 Mono 上运行时。该程序在 Microsoft Windows 上运行时按预期工作。这是由于 Mono 中的错误。修改了 MySQL Connector/NET 以避免
WeakReferences
在导致崩溃的Compressed
流类中使用。(漏洞 #45463) -
调用
SaveChanges()
具有列类型的任何 MySQL ORM 实体的实体框架方法TIME
,生成错误消息:Unknown PrimitiveKind Time
(漏洞 #45457)
-
使用实体框架时插入两个表失败。生成的异常是:
The value given is not an instance of type 'Edm.Int32'
(漏洞 #45077)
将输入参数与 ADO.NET 数据实体一起使用时,存储过程中缺少输入参数。(漏洞 #44985)
将实体框架与使用逗号作为小数点分隔符的区域性一起使用时发生错误。这是因为
SINGLE
,DOUBLE
和DECIMAL
值的格式处理不正确。(漏洞 #44455)尝试使用 MySQL Connector/NET 的 Compact Framework 版本连接到 MySQL 时,
IndexOutOfRangeException
在尝试打开连接时会生成异常。(漏洞 #43736)读取数据时,例如使用
MySqlDataAdapter
on a ,如果启用了压缩MySqlConnection
,MySQL Connector/NET 可能会进入无限循环 。CompressedStream.ReadNextpacket()
(漏洞 #43678)-
从公共 SVN 存储库检出的源代码构建 MySQL Connector/NET 时发生错误。这发生在使用 Mono 和 Nant 的 Linux 上。Mono JIT 编译器版本为 1.2.6.0。Nant 版本是 0.85。
当尝试使用以下命令构建(例如)MySQL Connector/NET 5.2 分支时:
$ nant -buildfile:Client.build
发生以下错误:
BUILD FAILED Error loading buildfile. Encoding name 'Windows-1252' not supported. Parameter name: name
(漏洞 #42411)
-
在将对“C:\Program Files\MySQL\MySQL Connector Net 5.2.4\Compact Framework\MySql.Data.CF.dll”的引用添加到 Windows Mobile 5.0 项目后,该项目无法构建,生成了一个 Microsoft Visual C# 编译器错误。
产生的错误是:
Error 2 The type 'System.Runtime.CompilerServices.CompilerGeneratedAttribute' has no constructors defined MysqlTest Error 3 Internal Compiler Error (0xc0000005 at address 5A7E3714): likely culprit is 'COMPILE'.
(漏洞 #42261)
MySQL Connector/NET CHM 文档声明支持 MySQL Server 3.23。(漏洞 #42110)
-
在长时间网络不活动的情况下,尤其是在使用连接池时,连接有时会被丢弃,例如,被防火墙丢弃。
注意:错误修复引入了一个新
keepalive
参数,它通过在指定的超时后发送一个空的 TCP 数据包来防止断开连接。(缺陷号 40684) -
MySQL Connector/NET 生成以下异常:
System.NullReferenceException: Object reference not set to an instance of an object. bei MySql.Data.MySqlClient.MySqlCommand.TimeoutExpired(Object commandObject) bei System.Threading._TimerCallback.TimerCallback_Context(Object state) bei System.Threading.ExecutionContext.runTryCode(Object userData) bei System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bei System.Threading._TimerCallback.PerformTimerCallback(Object state)
(漏洞 #40005)
通过 MySQL Connector/NET 调用带有输出参数的存储过程导致内存泄漏。在没有输出参数的情况下调用相同的存储过程不会导致内存泄漏。(漏洞 #36027)
-
尝试调用时, 将 a
DataAdapter
与链接一起 使用会抛出以下异常:MySqlCommandBuilder
da.Update(DataRow[] rows)
Connection must be valid and open
(漏洞 #34657)