MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 5.2 中的更改  /  MySQL 连接器/NET 5.2.7 (2009-07-15) 的变化

MySQL 连接器/NET 5.2.7 (2009-07-15) 的变化

修正错误

  • 代码通过多次EscapeString调用进行了转义。string.Replace这导致了性能瓶颈,因为每一行都会分配一个新字符串,而垃圾收集器会处理掉另一个字符串。(漏洞 #45699)

  • 使用连接字符串选项连接到 MySQL 服务器的 MySQL 连接器/NET 测试程序compress=true 崩溃,但仅当在 Mono 上运行时。该程序在 Microsoft Windows 上运行时按预期工作。

    这是由于 Mono 中的错误。修改了 MySQL Connector/NET 以避免WeakReferences在导致崩溃的 Compressed流类中使用。(漏洞 #45463)

  • 如果在尝试建立 MySQL 数据库连接时发生某个套接字异常,MySQL Connector/NET 会显示一条似乎与底层问题无关的异常消息。这掩盖了问题并使诊断问题更加困难。

    例如,如果在使用 TCP/IP 建立数据库连接时,本地计算机上的 Windows 分配了一个与仍在使用的套接字地址冲突的临时端口,则 Windows/.NET 将抛出一个套接字异常,并显示以下错误文本:

    Only one usage of each socket address (protocol/network address/port) is normally
    permitted IP ADDRESS/PORT.

    然而,MySQL Connector/NET 屏蔽了这个套接字异常并显示了一个异常,文本如下:

    Unable to connect to any of the specified MySQL hosts.

    (漏洞 #45021)

  • Microsoft Visual Studio 解决方案文件 MySQL-VS2005.sln无效。无法加载多个项目,因此无法从源代码构建 MySQL Connector/NET。(漏洞 #44822)

  • MySQL 连接器/NET MySQLRoleProvider 报告没有角色,即使存在角色也是如此。(漏洞 #44414)

  • 在将对“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 生成以下异常:

    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)

  • 在 DataSet 上创建 TableAdapter 时,无法使用带变量的存储过程。生成了以下错误:

    The method or operation is not implemented

    (漏洞 #39409)