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

我将使用C / C ++,并想知道与MySQL服务器通信的最佳方式。 我应该使用服务器安装附带的库吗? 它们是否是我应该考虑的优秀图书馆而不是官方图书馆?

MySQL的++

这取决于你想做什么。

首先,检查提供多个DBMS平台连接的库。 例如,Qt可以很容易地连接到MySQL,MS SQL Server和其他许多人,并且只需几行代码就可以在运行时更改数据库驱动程序(连接类型)。

特定于MySQL的库很好,但请记住,您将自己锁定到一个数据库实现 – 如果您将来需要更改它将会做很多工作 – 即使您设计的代码使得DB也是如此特定的东西在幕墙后面。 为什么不使用提供多平台连接的库,并省去麻烦?

OTL是我的项目多年来一直使用的可靠的C ++跨DBMS解决方案。 我们用它来与SQL Server(通过ODBC)和Oracle(通过OCI)交谈。 它非常容易驱动,并且在所有支持的数据库中都附带了大量示例。

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

这将使后端更容易切换,但正如我所提到的,与本机客户端相比,提供的function更少。 由于数据库供应商不同,抽象库只能真正提供所有(或大多数)后端共有的function。 无论您是希望针​​对特定数据库进行优化还是希望更容易切换后端,都取决于您(以及您的经理)。