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

有帮助吗?

解决方案

其他提示

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

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top