Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 5.1 中的更改  /  MySQL 连接器/ODBC 5.1.12 (2013-02-05) 的变化

MySQL 连接器/ODBC 5.1.12 (2013-02-05) 的变化

添加或更改的功能

  • SQLGetInfo()为了与最新的 MySQL 5.6 语法兼容, 以下保留字已添加到 ODBC 函数返回的列表中:

    • GET

    • IO_AFTER_GTIDS

    • IO_BEFORE_GTIDS

    • MASTER_BIND

    • ONE_SHOT

    • PARTITION

    • SQL_AFTER_GTIDS

    • SQL_BEFORE_GTIDS

  • 新的连接选项can_handle_exp_pwd 表明您的应用程序包含错误处理逻辑来处理过期密码的错误代码。有关此连接选项的详细信息以及关联的 SQL 状态和本机错误代码,请参阅 连接器/ODBC 连接参数 。有关 MySQL 服务器帐户密码过期的详细信息,请参阅ALTER USER 语句

    这个新选项通过详细信息对话框 的连接选项卡 上的 复选框 可以处理过期密码添加到 Windows GUI。

修正错误

  • 函数返回的字符串SQLNativeSql 没有像它应该的那样以 null 结尾。(漏洞 #14559721)

  • 为连接字符串中的选项指定某些值CHARSET 可能会在执行查询时导致严重错误。(漏洞 #14363601)

  • 如果使用相同的语句句柄调用多个语句,则SQLColumns其他目录函数可能会返回错误的结果。某些字段长度值未在描述符记录中重置。即使在语句 SQL_CLOSE之间关闭了语句句柄,也会出现此问题。(漏洞 #14338051)

  • 如果一个应用程序收到一个SIGPIPE信号,然后SIGPIPE紧接着(在第一个信号处理程序完成之前)收到另一个信号,应用程序可能会终止而不是处理第二个信号。(漏洞 #14303803)

  • String data, right truncated当仅请求部分信息时, 多个目录或信息函数可能会引发不正确的错误 。例如,如果应用程序called SQLDescribeCol(hstmt, ColNumber, ColName, BufferLen, ....),但不想要列名(ColName == NULLBufferLen == 0)。SQL_SUCCESS_WITH_INFO也可以返回而不是正确的值 SQL_SUCCESS。此问题影响了许多 ADO、DAO 和其他应用程序。

    受影响的功能包括:

    Spurious error and incorrect return code:
    
    SQLDescribeCol
    SQLDescribeColA
    SQLDescribeColW
    SQLGetInfoA
    SQLGetInfoW
    
    Incorrect return code:
    
    SQLColAttribute
    SQLColAttributeW
    SQLGetConnectAttr
    SQLGetConnectAttrW
    SQLGetCursorName
    SQLGetCursorNameW
    SQLGetInfo
    SQLGetInfoW
    SQLNativeSql
    SQLNativeSqlW

    (漏洞 #14285620)

  • SQLTables使用非常长的数据库或表名称 调用函数可能会导致严重错误。此修复允许SQLTables函数接受最大长度为 64 个字符的数据库和表名称。(漏洞 #14085211)

  • 符号SQLInstallDriverExSQLInstallDriverExWSQLRemoveDriverW被导出,导致与一些商业 ODBC 包(如 DataDirect ODBC)不兼容,并使连接器/ODBC 依赖于 unixODBClibodbcinst.so.1。此问题首先在连接器/ODBC 5.1.8 中发现。(缺陷 #11766724,缺陷 #59900)

  • 在 64 位系统上,SQLBindCol 使用指示符变量(通过最后一个参数)调用函数可能会返回不正确的结果。(缺陷 #11766437,缺陷 #59541)

  • 当从具有二进制排序规则的表中检索类型为TINYTEXT, TEXT, MEDIUMTEXT或 的列时LONGTEXT,文本字段将转换为十六进制表示形式,即使这些值并不是真正的 BLOB。不必要的转换可能会扩展数据,从而在存储结果值时导致溢出问题。(错误#11746572,错误#27282)