MySQL Connector/C++ 开发者指南  /  Connector/C++ 简介

第 1 章 Connector/C++ 简介

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++ 发行说明

Connector/C++ 的优势

与 MySQL 客户端库提供的 MySQL C API 相比,MySQL Connector/C++ 为 C++ 用户提供了以下优势:

  • 纯 C++ 的便利性。

  • 支持以下应用程序编程接口:

    • X DevAPI

    • X DevAPI for C

    • 基于 JDBC 4.0 的旧版 API

  • 支持面向对象编程范式。

  • 缩短开发时间。

  • 根据 GPL 许可证和 FLOSS 许可证例外条款获得许可。

  • 可根据要求提供商业许可证。

X DevAPI 和 X DevAPI for C

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 参考

旧版 JDBC API 和 JDBC 兼容性

如果构建 Connector/C++ 时包含了旧版 JDBC 连接器,则它将实现 JDBC 4.0 API。

Connector/C++ JDBC API 与 JDBC 4.0 API 兼容。Connector/C++ 没有实现整个 JDBC 4.0 API,但包含以下类:ConnectionDatabaseMetaDataDriverPreparedStatementResultSetResultSetMetaDataSavepointStatement

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。