关于c ++:与MySQL服务器通信的最佳方法是什么?

关于c ++:与MySQL服务器通信的最佳方法是什么?

What is the best way to communicate with a MySQL server?

我将使用C / C ++,并想知道与MySQL服务器对话的最佳方法。 我应该使用服务器安装随附的库吗? 除了官方图书馆以外,我还应该考虑其他图书馆吗?


MySQL ++


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

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


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


这取决于您要做什么。

首先,检出提供比DBMS平台更多的连通性的库。例如,使用Qt可以很容易地连接到MySQL,MS SQL Server和许多其他服务器,并在运行时更改数据库驱动程序(连接类型),而只需几行代码。

特定于MySQL的库很好,但是请记住,您只能将自己锁定在一个数据库实现上-如果将来需要更改,则将需要进行大量工作-即使您将代码设计为数据库特定的东西在立面后面。为什么不使用提供到多个平台的连接并节省麻烦的库呢?


推荐阅读