MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 5.1 中的更改  /  MySQL Connector/NET 5.1.8 中的更改(未发布)

MySQL Connector/NET 5.1.8 中的更改(未发布)

修正错误

  • GetSchema()在 索引或列名受限的地方 调用Indexes或失败。IndexColumns

    SchemaProvider.cs, 方法中 GetIndexes()并将 GetIndexColumns()它们的限制直接传递给GetTables(). 只有当限制不比 schemaNameand更具体时,这才有效tableName。如果IndexName给出,则将其传递到 GetTables()将其视为 TableType. 因此,没有返回任何表,除非索引名称恰好是BASE TABLEor VIEW。这意味着这两种方法都无法返回任何行。(漏洞 #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)