从C ++访问不同的数据库有哪些选择? 换句话说,ADO还有哪些替代方案? 有什么优点和缺点?
答案 0 :(得分:2)
我建议默认使用ODBC或OleDB。本地库真的限制你,DAO并不好玩,没有很多很棒的第三方ORM for C ++ / Windows。
答案 1 :(得分:1)
尽管这个问题及其答案已有几年历史,但对于像我这样的人来说,这些问题仍然很有价值。出于这个原因,我想添加Qt C ++框架的QtSql
模块作为数据库连接的选项。
请注意,我一般都熟悉Qt,但对QtSql
没有特别的经验。
优点(如果你只为QtSql模块选择Qt,那么也应该适用一些): Qt是跨平台的。根据我的经验,Qt设计精良,使用起来非常直观,并且记录得非常好。它已经存在了很长一段时间,由一个活跃的社区维护,并由诺基亚支持,所以它不会在一夜之间无法使用。自2009年以来,Qt已获得LGPL许可,因此即使是商业应用也是一种真正的免费选择。
缺点: Qt不小。您将向项目中引入QString
等新类型。 Qt是根据LGPL许可的,因此即使在商业应用程序中也需要确认它的使用。
答案 2 :(得分:0)
有一件事 - 如果速度很重要并且您的代码不需要可移植,那么使用本机库可能是值得的。
我对SQL Server知之甚少,但我知道Oracle OCI调用比使用ODBC更快。但是,它们将您与Oracle的SQL版本联系在一起。 SQL Server以同样的方式是有意义的。
答案 3 :(得分:0)
有POCO Data库,它支持ODBC,MySQL和SQLite。部分免费开源POCO C++ Libraries。