[英]What is the best way to communicate with a MySQL server?
我将使用C / C ++,并想知道与MySQL服务器对话的最佳方法。 我应该使用服务器安装随附的库吗? 除了官方图书馆以外,我还应该考虑其他优秀的图书馆吗?
MySQL自己的客户端库没有错。 如果您愿意接受减少的功能 ,则可以使用ODBC,UDBC, apr_dbd或其他一些数据库抽象库(例如已提供的OTL)来购买一些额外的可移植性。
这将使切换后端更加容易,但是,正如我提到的,与提供本机客户端的功能相比,其代价是提供的功能更少。 由于数据库供应商不同,因此抽象库只能真正提供所有(或大多数)后端的通用功能。 您是否愿意针对特定的数据库进行优化,还是希望更轻松地切换后端,取决于您(甚至可能是经理)。
这取决于您要做什么。
首先,检出提供比DBMS平台更多的连通性的库。 例如,使用Qt可以很容易地连接到MySQL,MS SQL Server和许多其他服务器,并在运行时更改数据库驱动程序(连接类型),而只需几行代码。
特定于MySQL的库很好,但请记住,您只能将自己锁定在一个数据库实现上-如果将来需要更改,则将需要进行大量工作-即使您将代码设计为数据库特定的东西在立面后面。 为什么不使用提供到多个平台的连接并节省麻烦的库呢?
OTL是我的项目使用了多年的C ++跨DBMS可靠解决方案。 我们使用它与SQL Server(通过ODBC)和Oracle(通过OCI)进行通信。 它相当容易驱动,并且在所有受支持的数据库中附带了大量示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.