我正在寻找从我的应用程序中抽象出数据库服务器细节的选项(在c ++中),我想编写我的代码以独立于实际的数据库后端。我知道MySQL有一个很好的库,但我不想被绑定到单个数据库实现。对此有好的选择吗?
答案 0 :(得分:4)
SOCI很好。支持多个数据库,效果很好,现代C ++风格API,可以使用boost。
答案 1 :(得分:4)
我的意见是忘记跨数据库驱动程序,并专注于查找或创建跨数据库数据访问层。一些原因:
LIMIT
和OFFSET
不是通用的。因此,继续使用libmysql
本身 - 只需将其隐藏在DAL中的编译器防火墙后面,并准备稍后将其交换出来。您可以保护自己免受基础设施转移的影响,而无需使用最低公分母的SQL包装器。
如果与您没有关系,请查看SQLAPI++。
答案 2 :(得分:1)
答案 3 :(得分:1)
Qt提供了一个数据库抽象层。请参阅:http://doc.trolltech.com/4.6/qsqldatabase.html。
答案 4 :(得分:1)
libodbc++提供了一个非常好的API。 也是大家伙Qt(参见Kyle Lutz的回答)& wxWidgets有数据库抽象层,因此如果你计划使用/你已经在使用这些框架的任何其他部分,那么使用它们可能是个好主意。
答案 5 :(得分:1)