C应用程序li​​bmysqlclient与ODBC

时间:2011-12-30 12:03:22

标签: mysql c odbc

我正在编写一个需要与MySQL数据库连接的应用程序。我应该使用libmysql还是ODBC连接器?除了使用ODBC将允许我在将来更改数据库而不需要更改代码之外,是否有任何优点/缺点?

2 个答案:

答案 0 :(得分:1)

在我看来,这是个人偏好的问题。

使用libmysql时,一个好的方法是首先编写一组通用的libmysqlclient包装函数(第A层),上面是一组实现你将在程序中使用的数据库功能的函数(层) B),以及你的实际程序(C层)。

从libmysql切换到ODBC只需要在B层进行细微更改,而无需修改B层的API。因此,如果您打算仅使用MySQL程序,我建议您坚持使用libmysql,直到有人为您提供ODBC补丁。


在技​​术方面,您必须在数据库连接和可移植性之间进行权衡。使用libmysql可以在不修改各种平台(如Unix,MacOS和Windows)的情况下编译代码。 ODBC库通常是为Windows或Unix / MacOS编写的。

答案 1 :(得分:1)

我一直在更改我的数据库,而且我使用的是C连接器,它可以完美运行并且不需要太多的代码更改。这对我来说是更好的选择,也许对你来说(当然只有imo)。

我无法相信两个接口之间的代码更改会有很大不同,如果你要坚持使用MySQL。

编辑:我之所以选择C连接器是因为它对我来说直观而自然;因为我不太确定是否有一个可用的,强化的ODBC for Linux:我的代码必须在Windows和Linux下运行。现在我看到确实有这样的事情。这使得ODBC更具吸引力:如果我知道它,也许我会选择不同的。