与 MySQL 服务器通信的最佳方式是啥?

Posted

技术标签:

【中文标题】与 MySQL 服务器通信的最佳方式是啥?【英文标题】:What is the best way to communicate with a MySQL server?与 MySQL 服务器通信的最佳方式是什么? 【发布时间】:2010-09-06 13:53:23 【问题描述】:

我将使用 C/C++,并且想知道与 mysql 服务器通信的最佳方式。我应该使用服务器安装附带的库吗?除了官方库之外,我还应该考虑哪些好的库?

【问题讨论】:

你能改一下标题吗?我以为是关于 MS SQL 服务器的。谢谢 【参考方案1】:

MySQL++

【讨论】:

【参考方案2】:

这有点取决于你想做什么。

首先,查看提供与 DBMS 平台以外的更多连接的库。例如,Qt 可以非常轻松地连接到 MySQL、MS SQL Server 和许多其他服务器,并在运行时更改数据库驱动程序(连接类型) - 只需几行代码。

特定于 MySQL 的库很好,但请记住,您将自己锁定在一个 DB 实现上 - 如果您将来需要更改,这将是一大堆工作 - 即使您设计这样的代码特定于 DB 的东西在门面后面。为什么不使用提供与多个平台的连接的库,并为自己省去麻烦?

【讨论】:

【参考方案3】:

OTL 是我的项目多年来一直使用的可靠的 C++ 跨 DBMS 解决方案。我们使用它与 SQL Server(通过 ODBC)和 Oracle(通过 OCI)进行通信。它相当容易上手,并且在所有受支持的数据库中提供了大量示例。

【讨论】:

【参考方案4】:

MySQL 自己的客户端库没有任何问题。如果您愿意减少功能,您可以通过使用 ODBC、UDBC、apr_dbd 或其他一些数据库抽象库(例如已经提供的 OTL)为自己购买一些额外的可移植性。

这将使切换后端变得更容易,但正如我所提到的,与原生客户端相比,它提供的功能更少。由于数据库供应商不同,抽象库只能真正提供所有(或大多数)后端共有的功能。您是更喜欢针对特定数据库进行优化还是更容易切换后端,这取决于您(也许还有您的经理)。

【讨论】:

以上是关于与 MySQL 服务器通信的最佳方式是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 django 中与应用程序服务器/网络服务器进行通信的最佳方式是啥[关闭]

通过 RESTful-Http 与 iPhone 应用程序中的 Web 服务进行通信的最佳方式是啥

Apple Watch 与 iPhone 通信的最佳方式是啥? [关闭]

与 Firefox 插件通信的最佳方式是啥

在不使用 mysql 服务器资源的情况下加密数据的最佳方法是啥?使用 CFB 模式的 mcrypt 是使用 php 的最佳方式吗?

在 React 组件和服务之间进行通信的最佳实践是啥?