-
GetSchema()
在 索引或列名受限的地方 调用Indexes
或失败。IndexColumns
在
SchemaProvider.cs
, 方法中GetIndexes()
并将GetIndexColumns()
它们的限制直接传递给GetTables()
. 只有当限制不比schemaName
and更具体时,这才有效tableName
。如果IndexName
给出,则将其传递到GetTables()
将其视为TableType
. 因此,没有返回任何表,除非索引名称恰好是BASE TABLE
orVIEW
。这意味着这两种方法都无法返回任何行。(漏洞 #43991) DATETIME
格式包含错误的空格 。(漏洞 #41021)-
如果未在连接字符串中显式设置连接池,则 MySQL Connector/NET 在调用时将“ ;Pooling=False ”添加到连接字符串的末尾
MySqlCommand.ExecuteReader()
。如果在连接字符串中显式设置了连接池,则在
MySqlConnection.Open()
调用时将“ Pooling=True ”转换为 “ pooling=True ”。如果
MySqlCommand.ExecuteReader()
随后被调用,它将 “ ;Pooling=False ”连接到连接字符串的末尾。因此,生成的连接字符串以 “ pooling=True;Pooling=False ”终止。这完全禁用了连接池。(漏洞 #40091) -
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)
如果在使用
MySqlTransaction
事务对象时抛出异常,事务对象不会被销毁,事务也不会回滚。(漏洞 #39817)当运行准备好的插入查询时,
UNSIGNED TINYINT
在参数列表中包含 ,应插入的完整查询和数据已损坏,并且不会引发任何错误。(漏洞 #37968)调用引用不存在的表
MySqlDataAdapter.FillSchema
的 语句会使连接处于错误状态。SELECT
在这个调用之后,所有SELECT
的语句都返回了一个空的结果集。如果该SELECT
语句引用了一个确实存在的表,那么一切都会按预期进行。(缺陷号 30518)