Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 5.1 中的更改  /  MySQL Connector/ODBC 5.1.6 (2009-11-09) 的变化

MySQL Connector/ODBC 5.1.6 (2009-11-09) 的变化

添加或更改的功能

  • 在 MySQL 数据源配置对话框中,需要过多的选项卡才能导航到数据库选择。连接器/ODBC 已更改,使选项卡顺序更实用,从而可以更快地配置数据源。(漏洞 #42905)

修正错误

  • 在 Windows 2003 SP2 上的 IIS6 MDAC 版本 2.8 SP2 上提供经典 ASP 脚本的 Windows 2003 服务器(德语版)随机发生错误。应用程序使用 UTF-8 Unicode (utf8) 字符集连接到 MySQL Server 5.0.44-log。MySQL 服务器在 Gentoo Linux 上运行。

    脚本错误偶尔发生在以下代码行:

    SET my_conn = Server.CreateObject("ADODB.Connection")
    my_conn.Open ConnString  <- ERROR

    连接是 DSN 或显式连接字符串:

    Driver={MySQL ODBC 5.1 Driver};SERVER=abc.abc.abc.abc;DATABASE=dbname;UID=uidname;PWD=pwdname;PORT=3306;OPTION=67108864;

    该错误发生在使用 DNS 或连接字符串建立的连接上。

    使用IISState和Debug Diagnostic Tool 1.0.0.152分析代码时,产生如下崩溃分析:

    MYODBC5!UTF16TOUTF32+6In 4640-1242788336.dmp the assembly instruction at
    myodbc5!utf16toutf32+6 in C:\Programme\MySQL\Connector ODBC 5.1\myodbc5.dll from MySQL AB
    has caused an access violation exception (0xC0000005) when trying to read from memory
    location 0x194dd000 on thread 33

    (漏洞 #44971)

  • 连接器/ODBC 覆盖了查询日志。连接器/ODBC 已更改为附加日志,而不是覆盖它。(漏洞 #44965)

  • 由于数据类型使用不正确,连接器/ODBC 无法使用 MySQL 5.1.30 构建bool。(漏洞 #42120)

  • 从当前数据库以外的数据库查询表时, 插入新记录使用与语句SQLSetPos中指定的数据库名称不对应 。SELECT

    SQLSetPos试图 INSERT在当前数据库中执行此操作,但SQL_ERROR结果是来自 MySQL 服务器的表不存在”消息。(漏洞 #41946)

  • SQLDescribeCol()使用 NULL 缓冲区和非零缓冲区长度 调用导致崩溃。(漏洞 #41942)

  • 连接器/ODBC 使用随机值更新了一些字段,而不是使用 NULL. (漏洞 #41256)

  • DECIMAL当访问包含 类型的列时NULL,Connector/ODBC 返回 0 而不是NULL. (漏洞 #41081)

  • 在 Access 97 中,将包含 LONGTEXTorTEXT字段的表链接到连接器/ODBC DSN 时,字段显示为 TEXT(255)表结构。因此,数据被截断为 255 个字符。(缺陷号 40932)

  • 如果还指定 了输出缓冲区SQLDriverConnect()的 指针,则 调用NULL会导致崩溃:SQL_DRIVER_NOPROMPT

    SQLDriverConnect(dbc, NULL, "DSN=myodbc5", SQL_NTS, NULL, 0, NULL, SQL_DRIVER_NOPROMPT)

    (缺陷号 40316)

  • 将 ADORecordset十进制字段值设置为 44.56 会导致在使用该方法更新记录集时存储不正确的值 445600.0000 Update。(漏洞 #39961)

  • SQLTablesWAPI 给出了错误 的结果。例如,表名和表类型返回为 NULL正确值而不是正确值。(漏洞 #39957)

  • 当客户端不支持的服务器上使用字符集时,连接器/ODBC 会崩溃,例如 cp1251:

    [MySQL][ODBC 5.1 Driver][mysqld-5.0.27-community-nt]Restricted data type attribute violation

    该修复导致连接器/ODBC 返回错误消息而不是崩溃。(漏洞 #39831)

  • 绑定SQL_C_BITINTEGER列不起作用。

    sql_get_data()函数仅适用于与缓冲区BOOLEAN对应的列。SQL_C_BIT(漏洞 #39644)

  • 当该SQLTables方法被调用并NULL作为参数传递时 ,仅返回表名为 的 tablename一行 ,而不是给定数据库的所有表。(漏洞 #39561)resultsetNULL

  • SQLGetInfo()函数返回 0 以 SQL_CATALOG_USAGE获取信息。(漏洞 #39560)

  • 如果连接字符串参数包含空格或制表符,则连接器/ODBC 5.1.5 无法连接。例如,如果将SERVER参数指定为 SERVER=localhost而不是 SERVER=localhost,则会显示以下错误消息:

    [MySQL][ODBC 5.1 Driver] Unknown MySQL server host ' localhost' (11001).

    (漏洞 #39085)

  • 由于包含 NULL 终止符,传递给 SQLDriverConnect方法以检索输出连接字符串长度的指针比应有的长度大一。(漏洞 #38949)

  • 定位更新期间不支持执行数据参数。这意味着使用游标更新来更新长文本字段会错误地将值设置为 null。这会在更新数据库时导致错误Column 'column_name' cannot be null,即使 column_name已分配了一个有效的非空字符串。(漏洞 #37649)

  • SQLDriverConnect方法将参数截断OutputConnectionString为 52 个字符。(漏洞 #37278)

  • 连接字符串选项Enable Auto-reconnect不起作用。当连接失败时,无法恢复,产生的错误与没有选择该选项一样。(漏洞 #37179)

  • 将数据插入LONGTEXT表字段不起作用。如果进行了这样的尝试,相应的字段将在检查时被发现为空,或者包含随机字符。(漏洞 #36071)

  • 没有返回 数据类型SQLGetTypeInfo的 结果记录。TIMESTAMP应用程序将收到结果return code 100 (SQL_NO_DATA_FOUND)。(缺陷号 30626)

  • 无法使用连接器/ODBC 连接到使用 SSL 的服务器。生成了以下错误:

    Runtime error '-2147467259 (80004005)':
    
    [MySQL][ODBC 3.51 Driver]SSL connection error.

    (漏洞 #29955)

  • recordSet.Update调用函数更新adLongVarChar字段时,字段被更新但记录集立即丢失。这发生在驱动程序游标上,无论游标是在乐观模式还是悲观模式下打开。

    当调用下一个更新时,测试代码将退出并出现以下错误:

    -2147467259 : Query-based update failed because the row to update could not be found.

    (漏洞 #26950)

  • Microsoft Access 无法BIGINT 从只有两列类型 BIGINT和的表中正确读取值VARCHAR#DELETE出现而不是正确的值。(漏洞 #17679)