(Visual)C ++的数据库抽象层
时间:2020-03-05 18:49:28 来源:igfitidea点击:
有哪些选项可用于从C ++访问不同的数据库?
换句话说,ADO有哪些替代方案?
优缺点都有什么?
解决方案
回答
- Microsoft ODBC。
- MFC ODBC类,例如CDatabase。
- OleDB(通过COM)。
- 而且,我们始终可以浏览每个RDBMS本机库(例如SQL Server本机库)
- DAO(不)。
- 第三方ORM提供商。
我建议默认情况下通过ODBC或者OleDB。本机库确实限制了我们,DAO不好玩,对于C ++ / Windows来说,没有很多很棒的第三方ORM。
回答
如果速度很重要,并且代码不需要可移植,那么使用本地库可能是值得的。
我对SQL Server不太了解,但是我知道Oracle OCI调用比使用ODBC更快。但是,它们将我们与Oracle版本的SQL绑定在一起。对于SQL Server,采用相同的方式将是有意义的。
回答
有POCO数据库,它支持ODBC,MySQL和SQLite。免费的开源POCO C ++库的一部分。