这是 Connector/ODBC 5.3.x 系列的 alpha 版本。可用的下载包括同一包中的 Unicode 驱动程序和 ANSI 驱动程序(这两个驱动程序不再单独提供)。默认情况下启用服务器端准备好的语句。它适用于 4.1 以后的任何 MySQL 版本(不适用于 4.0 或更早版本)。
这是第一个符合ODBC 3.8规范的MySQL ODBC驱动系列。它包含具有关键 3.8 功能的标准的最低要求实现,其中包括此 alpha 版本中的驱动程序自我识别和输出参数流(仅支持二进制类型)。
Connector/ODBC 5.3 还引入了一个基于 GTK+ 的设置库,在一些基于 Unix 的系统上提供了 GUI DSN 设置对话框。该库目前包含在 Oracle Linux 6 和 Debian 6 二进制包中。5.3 系列中的其他新功能包括文件 DSN 和书签支持。
该版本是针对 MySQL 服务器 5.6.14 客户端库构建的。
请记住,这是一个 alpha 版本,与任何其他预生产版本一样,在生产级系统或具有关键数据的系统上安装时应格外小心。并非为最终的 Connector/ODBC 5.3 版本计划的所有功能都已实现。
在结构中添加了一个锁,以
ENV
防止同时访问环境句柄的连接列表,以避免多个线程共享同一环境句柄时可能发生的内存访问问题。(漏洞 #17240611,漏洞 #69864)支持文件数据源名称。(漏洞 #11746219,漏洞 #24581)
支持ODBC 3.8标准:驱动自识别和输入/输出流参数
通过实施基于 GTK+ 的设置库,为某些基于 Unix 的系统添加了 GUI DSN 设置对话框。
添加了一个新的崩溃错误测试模块 (
my_crash.c
)。在 CMake 配置文件中添加新
ODBCCP32_LIB
的odbccpp32.lib
路径变量,并MYSQLCLIENT_LIB_NAME
通过指定要使用的 MySQL 客户端库(libmysql.*
,mysqlclient.*
,libmysqlclient_r.*
,libmysqlclient.*
)添加用于静态或动态链接 MySQL 客户端库。与 MySQL 5.6.4 及更高版本的链接现在由 C++ 完成,因为libmysqlclient_r
此后已成为 C++ 库。连接器/ODBC 中添加了书签支持。
调用时发生内存泄漏 ,因为释放 缓冲区需要
fetch_varlength_columns()
在调用 时 设置为 “ 0 ”。此修复程序在调用之前释放缓冲区 。(漏洞#17441296)SQLExecDirect()
result_bind
field_count
mysql_stmt_free_result()
result_bind
mysql_stmt_free_result()
使用参数标记的程序可能会因分段错误而崩溃。为避免此问题,此修复程序将函数
length
中 的参数更改convert_c_type2str()
为指向长整型的指针。(漏洞 #17421620,漏洞 #69733)内存泄漏发生在SQL 语句上
SQLPrepare()
以及SQLExecDirect()
何时 使用。SQLBindParamater
此修复程序释放以前的结果mysql_stmt_result_metadata()
以防止内存泄漏。(错误#17400483,错误#70113)for
更改循环 的退出条件stringutil.c
以避免可能的越界错误和 Valgrind 的相关报告。(缺陷 #17397596,缺陷 #64105)Microsoft Visual Studio 2010 在从服务器资源管理器中的任何表中读取行时崩溃,这些表连接到由连接器/ODBC 建立的 DSN。(漏洞 #17304031,漏洞 #69950)
当 SQL
TIME
数据转换为 C 数据类型时TIMESTAMP
,如果hour
字段的值大于 24,则日期字段未设置为当前日期,fraction
秒字段未按照 ODBC 的要求设置为零规格。(漏洞 #17016839,漏洞 #69545)当尝试在 Micrsoft SQL Server 2008 中创建链接服务器到使用连接器/ODBC 作为 DSN 设置的 MySQL 服务器时,Microsoft SQL Server(如果它是 64 位版本)崩溃或链接服务器遭受灾难性故障(如果使用 32 位版本的 Microsoft SQL Server)。(错误#16604346,错误#63386)
TIME
使用该方法将列数据 读SQLGetData
入SQL_C_TYPE_TIME
数据类型时,如果时间字符串包含超过 6 位数字(例如 120:53:44),则会发生错误。(错误#16176981,错误#67793)在 之后调用时
SQLPrepare
,函数SQLMoreResults
返回SQL_ERROR
,而不是SQL_NO_DATA
ODBC 规范所要求的。(缺陷 #16101282,缺陷 #67920)连接器/ODBC 使用了“ ; ”字符而不是空字节(“ \0 ”)来终止属性字符串中的关键字-值对。(漏洞 #15940689,漏洞 #66548)
当使用支持 Unicode 的连接器/ODBC 驱动程序连接到任何 5.5.2 或更早版本的 MySQL 服务器时,所有语句都失败并显示错误消息“服务器不支持 4 字节编码的 UTF8 字符。” (漏洞 #14838690,漏洞 #67428)
DSN 参数的配置值覆盖通过连接字符串提供的值,而不是相反。(缺陷 #11760574,缺陷 #52996)