MySQL Connector/C++ 是一个适用于连接到 MySQL 服务器的 C++ 应用程序的 MySQL 数据库连接器。Connector/C++ 可用于访问实现 文档存储 的 MySQL 服务器,或以传统方式使用 SQL 语句访问。Connector/C++ 的首选开发环境是使用 X DevAPI 开发 C++ 应用程序,或使用 X DevAPI for C 开发纯 C 应用程序,但 Connector/C++ 也支持开发使用 Connector/C++ 1.1 中基于 JDBC 的旧 API 的 C++ 应用程序。
使用 X DevAPI 或 X DevAPI for C 的 Connector/C++ 应用程序需要启用了 X 插件 的 MySQL 服务器。使用基于 JDBC 的旧 API 的 Connector/C++ 应用程序既不需要也不支持 X 插件。
有关 Connector/C++ 应用程序所需 MySQL 版本的更详细要求,请参阅 平台支持和先决条件。
有关详细说明 Connector/C++ 每个版本更改的说明,请参阅 MySQL Connector/C++ 发行说明。
与 MySQL 客户端库提供的 MySQL C API 相比,MySQL Connector/C++ 为 C++ 用户提供了以下优势:
纯 C++ 的便利性。
-
支持以下应用程序编程接口:
X DevAPI
X DevAPI for C
基于 JDBC 4.0 的旧版 API
支持面向对象编程范式。
缩短开发时间。
根据 GPL 许可证和 FLOSS 许可证例外条款获得许可。
可根据要求提供商业许可证。
Connector/C++ 实现了 X DevAPI,它允许连接到使用 X 插件 实现 文档存储 的 MySQL 服务器。X DevAPI 还允许应用程序执行 SQL 语句。
Connector/C++ 还实现了一个名为 X DevAPI for C 的类似接口,供用纯 C 编写的应用程序使用。
有关 X DevAPI 的一般信息,请参阅 X DevAPI 用户指南。有关 Connector/C++ 实现 X DevAPI 和 X DevAPI for C 的参考信息,请参阅 MySQL 文档 的“X DevAPI”部分中的 MySQL Connector/C++ X DevAPI 参考。
如果构建 Connector/C++ 时包含了旧版 JDBC 连接器,则它将实现 JDBC 4.0 API。
Connector/C++ 二进制发行版包含 JDBC 连接器。
如果从源代码构建 Connector/C++,默认情况下不会构建 JDBC 连接器,但可以通过启用
WITH_JDBC
CMake 选项来包含它。请参阅 第 4 章 从源代码安装 Connector/C++。
Connector/C++ JDBC API 与 JDBC 4.0 API 兼容。Connector/C++ 没有实现整个 JDBC 4.0 API,但包含以下类:Connection
、DatabaseMetaData
、Driver
、PreparedStatement
、ResultSet
、ResultSetMetaData
、Savepoint
、Statement
。
JDBC 4.0 API 为上述类定义了大约 450 个方法。Connector/C++ 实现了其中大约 80% 的方法。
Connector/C++ 9.0 中的旧版 JDBC 连接器基于 Connector/C++ 1.1 提供的连接器。有关在 Connector/C++ 9.0 中使用 JDBC API 的更多信息,请参阅 MySQL Connector/C++ 1.1 开发者指南。
要查看支持哪些平台,请访问 Connector/C++ 下载页面。
在 Windows 平台上,商业版和社区版 Connector/C++ 发行版需要 Visual Studio 的 Visual C++ Redistributable。Redistributable 可在 Visual Studio 下载中心 获得;请在安装 Connector/C++ 之前安装它。可接受的 Redistributable 版本取决于您的 Connector/C++ 版本:
Connector/C++ 8.0.19 及更高版本:VC++ Redistributable 2017 或更高版本。
Connector/C++ 8.0.14 至 8.0.18:VC++ Redistributable 2015 或更高版本。
以下要求适用于构建和运行 Connector/C++ 应用程序,以及从源代码构建 Connector/C++ 本身:
-
要运行 Connector/C++ 应用程序,MySQL 服务器的要求取决于应用程序使用的 API:
使用 X DevAPI 或 X DevAPI for C 的 Connector/C++ 应用程序需要 MySQL 8.0.11 或更高版本且启用了 X 插件(默认)的服务器。
使用 JDBC API 的应用程序支持 MySQL 8.0 或更高版本。X 插件既不需要也不支持。
-
要构建 Connector/C++ 应用程序:
MySQL 版本不适用。
-
在 Windows 上,需要 Microsoft Visual Studio。可接受的 MSVC 版本取决于您的 Connector/C++ 版本和您使用的链接类型:
Connector/C++ 8.0.20 及更高版本:与 Connector/C++ 8.0.19 相同,但新增了二进制发行版也与使用静态 X DevAPI 连接器库的 MSVC 2017 兼容。这意味着二进制发行版完全兼容 MSVC 2019,并且除静态旧版 (JDBC) 连接器库外,完全兼容 MSVC 2017。
Connector/C++ 8.0.19:Connector/C++ 二进制发行版与使用 MSVC 2019(使用动态或静态连接器库)或 MSVC 2017(使用动态连接器库)构建的项目兼容。
Connector/C++ 8.0.14 至 8.0.18:MSVC 2017 或 2015。
Connector/C++ 8.0.14 之前的版本:MSVC 2015。
-
要从源代码构建 Connector/C++:
-
可能需要 MySQL C API 客户端库:
对于没有 JDBC 连接器(默认)的 Connector/C++,不需要客户端库。
要使用 JDBC 连接器构建 Connector/C++,请在配置 Connector/C++ 时启用
WITH_JDBC
CMake 选项。在这种情况下,JDBC 连接器需要 MySQL 8.0 或更高版本的客户端库。
-
在 Windows 上,需要 Microsoft Visual Studio。可接受的 MSVC 版本取决于您的 Connector/C++ 版本:
Connector/C++ 8.0.19 及更高版本:MSVC 2019 或 2017。
Connector/C++ 8.0.14 至 8.0.18:MSVC 2017 或 2015。
Connector/C++ 8.0.14 之前的版本:MSVC 2015。
-