(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 ++库的一部分。