Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 5.1 中的更改  /  MySQL Connector/ODBC 5.1.7 (2010-08-24) 的变化

MySQL Connector/ODBC 5.1.7 (2010-08-24) 的变化

添加或更改的功能

  • 连接器/ODBC 已更改为支持该 CLIENT_INTERACTIVE标志。(漏洞 #48603)

修正错误

  • SQLColAttribute(SQL_DESC_PRECISION...) 函数为具有负值的类型标识符返回了不正确的结果:

    #define SQL_LONGVARCHAR       (-1) returned 4294967295
    #define SQL_BINARY            (-2) returned 4294967294
    #define SQL_VARBINARY         (-3) returned 4294967293
    #define SQL_LONGVARBINARY     (-4) returned 4294967292
    #define SQL_BIGINT            (-5) returned 4294967291
    #define SQL_TINYINT           (-6) returned 4294967290
    #define SQL_BIT               (-7) returned 4294967289

    它们作为 32 位无符号整数值返回。这只发生在 64 位 Linux 上。(漏洞 #55024)

  • SQLColAttribute对于 SQL_DESC_OCTET_LENGTH返回的长度,包括终止空字节。它不应该包含空字节。(漏洞 #54206)

  • SQLColumns函数将不正确的传输八位字节长度返回到类型列 BUFFER_LENGTHDECIMAL 。(漏洞 #53235)

  • SQLForeignKeys()没有返回正确的信息。其他表中的外键列表不应包含指向指定表中唯一约束的外键。(漏洞 #51422)

  • 执行SQLProcedureColumns()ODBC函数时,驱动报如下错误:

    MySQL server does not provide the requested information

    (漏洞 #50400)

  • 与所有其他 ODBC 目录函数相比, SQLTablePrivileges该函数要求用户 SELECT对 MySQL 模式具有特权,否则该函数会返回错误:

    SQL Error. Native Code: 1142, SQLState: HY000, Return Code: -1
    [MySQL][ODBC 5.1 Driver][mysqld-5.0.67-community-nt]SELECT command denied to user
    'repadmin'@'localhost' for table 'tables_priv'
    [Error][SQL Error]Error executing SQLTablePrivileges for object cat: myrep, object Name:
    xxxxxxxxxx

    (漏洞 #50195)

  • 连接器/ODBC 手动将一个LIMIT子句添加到某些 SQL 语句的末尾,导致包含应位于该 LIMIT子句之后的代码的语句出错。(漏洞 #49726)

  • 如果NO_BACKSLASH_ESCAPES在服务器上使用模式,转义二进制数据会导致服务器查询解析错误。(漏洞 #49029)

  • 批量上传操作不适用于使用参数的查询。(漏洞 #48310)

  • 在连接未就绪时检索当前目录,例如连接已断开或未处理所有未决结果时,会导致应用程序崩溃。(漏洞 #46910)

  • SQLPrepare 描述导致预取表数据 的视图或表。对于大型表,这造成了无法忍受的性能损失。(漏洞 #46411)

  • 如果应用程序由 root 用户调用, SQLDriverConnect()则无法使用连接字符串中的用户名和密码连接到数据库。(漏洞 #45378)

  • 调用SQLColAttribute日期列未设置SQL_DESC_DATETIME_INTERVAL_CODESQLColAttribute返回 SQL_SUCCESS但传入的整数未设置为SQL_CODE_DATE。(漏洞 #44576)

  • 文件中缺少许多类型的转换 driver/info.c。(漏洞 #43855)

  • SQLTables()函数大约需要两到四分钟才能返回数据库中 400 个表的列表。对于具有大量行的 InnoDB 表,使用的SHOW TABLE STATUS 查询非常慢,因为查询正在计算每个表中的近似行数。SQLTables()此外,由于结果集的不确定性(行数每次都重新计算),结果无法缓存,进一步影响性能。(漏洞 #43664)

  • 执行SQLForeignKeys获取表的导入外键花费的时间过长。例如,获取 252 个表的导入外键以确定父/子依赖关系对于 5.1.5 驱动程序大约需要 3 分 14 秒,而对于 3.5xx 驱动程序则需要 3 秒。(漏洞 #39562)

  • SQLDescribeCol为结果返回了不正确的列定义SQLTables。(漏洞 #37621)

  • 从 Microsoft Access 2003打开ADO.Recordset时,出现运行时错误:

    ErrNo: -2147467259 ErrMessage: Data provider or other service returned an E_FAIL status.

    (漏洞 #36996)

  • SQLPrimaryKeysW返回表名、列名和主键名的损坏字符串。(漏洞 #36441)

  • 在 Windows 上,DSN 的 SOCKET 参数用作要连接的命名管道名称。这未在 Windows 安装程序 GUI 中公开。(漏洞 #34477)

  • 连接器/ODBC 为具有非零值的列返回了零值。当列的数据类型为 BIT,并且在 中使用了任何数字类型 时,就会发生这种情况SQLBindCol。(漏洞 #32821)

  • 用于处理错误日期的选项在 GUI 中不可用。(缺陷号 30539)