MySQL 连接器/C++ 8.0 开发人员指南  /  第 1 章 Connector/C++ 简介

第 1 章 Connector/C++ 简介

MySQL Connector/C++ 8.0 是用于连接到 MySQL 服务器的 C++ 应用程序的 MySQL 数据库连接器。Connector/C++ 可用于访问实现文档存储的 MySQL 服务器,或以传统方式使用 SQL 语句。Connector/C++ 8.0 的首选开发环境是支持使用 X DevAPI 开发 C++ 应用程序,或使用 X DevAPI for C 开发纯 C 应用程序,但 Connector/C++ 8.0 还支持开发使用旧版基于 JDBC 的 API 的 C++ 应用程序连接器/C++ 1.1。

使用 X DevAPI 或 X DevAPI for C 的连接器/C++ 应用程序需要启用了X 插件的 MySQL 服务器 。使用遗留的基于 JDBC 的 API 的连接器/C++ 应用程序既不需要也不支持 X 插件。

有关连接器/C++ 应用程序所需 MySQL 版本的更多详细要求,请参阅 平台支持和先决条件

有关详细说明每个版本的 Connector/C++ 更改的注释,请参阅 MySQL Connector/C++ 版本说明

连接器/C++ 优势

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

  • 纯 C++ 的便利性。

  • 支持这些应用程序编程接口:

    • X开发API

    • 用于 C 的 X DevAPI

    • 遗留的基于 JDBC 4.0 的 API

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

  • 缩短开发时间。

  • 在 GPL 许可下获得 FLOSS 许可例外许可。

  • 可根据要求获得商业许可。

X DevAPI 和 X DevAPI for C

Connector/C++ 实现了 X DevAPI,它可以连接到使用X Plugin 实现文档存储的 MySQL 服务器。X DevAPI 还使应用程序能够执行 SQL 语句。

Connector/C++ 还实现了一个名为 X DevAPI for C 的类似接口,供以普通 C 编写的应用程序使用。

有关 X DevAPI 的一般信息,请参阅 X DevAPI 用户指南。有关特定于 X DevAPI 的 Connector/C++ 实现和 C 的 X DevAPI 的参考信息,请参阅MySQL文档X DevAPI 部分中的MySQL Connector/C++ X DevAPI 参考

遗留 JDBC API 和 JDBC 兼容性

连接器/C++ 实现 JDBC 4.0 API,如果构建为包括遗留 JDBC 连接器:

  • 连接器/C++ 二进制发行版包括 JDBC 连接器。

  • 如果您从源代码构建连接器/C++,默认情况下不会构建 JDBC 连接器,但可以通过启用 CMake选项将其包含在内。请参阅 第 4 章,从源代码安装连接器/C++WITH_JDBC

Connector/C++ JDBC API 与 JDBC 4.0 API 兼容。Connector / C++ 不实现整个 JDBC 4.0 API,但 具有 以下 类 : Connection,,,,,,,,,, 。 DatabaseMetaDataDriverPreparedStatementResultSetResultSetMetaDataSavepointStatement

JDBC 4.0 API 为刚才提到的类定义了大约 450 个方法。Connector/C++ 实现了其中大约 80%。

笔记

Connector/C++ 8.0 中的遗留 JDBC 连接器基于 Connector/C++ 1.1 提供的连接器。有关在 Connector/C++ 8.0 中使用 JDBC API 的更多信息,请参阅 MySQL Connector/C++ 1.1 Developer Guide

平台支持和先决条件

要查看支持哪些平台,请访问 连接器/C++ 下载页面

在 Windows 平台上,商业和社区连接器/C++ 发行版需要 Visual C++ Redistributable for Visual Studio。Redistributable 可在 Visual Studio 下载中心获得;在安装 Connector/C++ 之前安装它。可接受的可再发行版本取决于您的连接器/C++ 版本:

  • Connector/C++ 8.0.19 及更高版本:VC++ Redistributable 2017 或更高版本。

  • Connector/C++ 8.0.14 至 8.0.18:VC++ Redistributable 2015 或更高版本。

以下要求适用于构建和运行 Connector/C++ 应用程序,以及构建 Connector/C++ 本身(如果您从源代码构建它):

  • 要运行连接器/C++ 应用程序,MySQL 服务器要求取决于应用程序使用的 API:

    • 使用 X DevAPI 或 X DevAPI for C 的连接器/C++ 应用程序需要来自 MySQL 8.0(8.0.11 或更高版本)或 MySQL 5.7(5.7.12 或更高版本)的服务器,并 启用X 插件。对于 MySQL 8.0,默认启用 X Plugin。对于 MySQL 5.7,必须显式启用 X 插件。(某些 X 协议功能可能不适用于 MySQL 5.7。)

    • 使用 JDBC API 的应用程序可以使用 MySQL 5.6 或更高版本的服务器。既不需要也不支持 X 插件。

  • 要构建连接器/C++ 应用程序:

    • MySQL 版本不适用。

    • 在 Windows 上,需要 Microsoft Visual Studio。可接受的 MSVC 版本取决于您的连接器/C++ 版本和您使用的链接类型:

      • Connector/C++ 8.0.20 及更高版本:与 Connector/C++ 8.0.19 相同,此外,二进制分发版还使用静态 X DevAPI 连接器库与 MSVC 2017 兼容。这意味着二进制分发版与 MSVC 2019 完全兼容,并且与 MSVC 2017 完全兼容,静态遗留 (JDBC) 连接器库除外。

      • Connector/C++ 8.0.19:Connector/C++ 二进制发行版与使用 MSVC 2019(使用动态或静态连接器库)或 MSVC 2017(使用动态连接器库)构建的项目兼容。

      • 连接器/C++ 8.0.14 至 8.0.18:MSVC 2017 或 2015。

      • 8.0.14 之前的连接器/C++:MSVC 2015。

  • 从源代码构建连接器/C++:

    • 可能需要 MySQL C API 客户端库:

      • 对于没有 JDBC 连接器(默认)构建的连接器/C++,不需要客户端库。

      • 要使用 JDBC 连接器构建 Connector/C++,请在 启用CMake选项的情况下配置 Connector/C++。在这种情况下,JDBC 连接器需要 MySQL 8.0(8.0.11 或更高版本)或 MySQL 5.7(5.7.9 或更高版本)的客户端库。 WITH_JDBC

    • 在 Windows 上,需要 Microsoft Visual Studio。可接受的 MSVC 版本取决于您的连接器/C++ 版本:

      • 连接器/C++ 8.0.19 及更高版本:MSVC 2019 或 2017。

      • 连接器/C++ 8.0.14 至 8.0.18:MSVC 2017 或 2015。

      • 8.0.14 之前的连接器/C++:MSVC 2015。