存在哪些用于从C++访问不同数据库的选项?换句话说,ADO有什么替代方案? 有什么优点和缺点?数据库抽象层(Visual)C++
2
A
回答
2
- Microsoft ODBC。
- MFC ODBC类,例如CDatabase。
- OleDB(通过COM)。
- 您可以随时浏览每个RDBMS本机库(例如,SQL Server native library)
- DAO(不)。
- 第三方ORM提供者。
我会推荐通过ODBC或OleDB默认情况下。本机库真的限制了你,DAO没有趣味,对于C++/Windows来说,没有太多优秀的第三方ORM。
0
一两件事 - 如果速度是重要的,你的代码并不需要移植,那么它可能是值得它使用本地库。
我不太了解SQL Server,但我知道Oracle OCI调用比使用ODBC更快。但是,它们将您与Oracle的SQL版本联系在一起。对于SQL Server来说也是一样的。
0
有POCO Data库,它支持ODBC,MySQL和SQLite。部分免费开源POCO C++ Libraries。
1
虽然这个问题,它的答案是几年前,他们还是对我这样的人是通过邮轮上的评价之旅有价值。为此,我想添加Qt C++框架的QtSql
模块作为数据库连接选项。
请注意,我一般熟悉Qt,但特别是QtSql
没有经验。
优点(如果您只是为其QtSql模块选择Qt,也应该适用几个): Qt是跨平台的。根据我的经验,Qt设计良好,使用非常直观,并且非常有据可查。它已经存在了很长一段时间,由一个活跃的社区维护,并由诺基亚支持,所以它不会在一夜之间变得不可用。自2009年以来,QT已经在LGPL许可,所以即使是用于商业应用的真正的无成本的选择。
缺点: Qt是不小。您将为您的项目引入新类型,例如QString
。 Qt是根据LGPL授权的,因此即使在商业应用程序中也需要承认它的使用。
相关问题
- 1. MySQL数据库抽象层?
- 2. 如何抽象数据库层?
- 3. AIR(JS)的数据库抽象层?
- 4. AIR的数据库抽象层? (AS3)
- 5. 包装或数据库抽象层
- 6. Node.js数据库的抽象层
- 7. Scala的数据库抽象层
- 8. 数据输入抽象层?
- 9. C#抽象和数据库层和代表
- 10. 数据库抽象
- 11. 正确抽象3层系统中的数据库层?
- 12. 对象关系映射vs数据库抽象层
- 13. 数据库抽象层和数据访问层有什么区别?
- 14. 分层数据上下文和抽象
- 15. 实现数据访问层抽象
- 16. 数据库抽象 - Azure表
- 17. Julia的数据库抽象
- 18. PDO数据库抽象
- 19. 在抽象数据库系统中存储抽象数据
- 20. 抽象层(Java)
- 21. Web2Py数据库抽象层抛出的异常抛出
- 22. 使用数据库抽象层有什么好处?
- 23. 数据库抽象层检查表失败
- 24. 数据库模式对象抽象
- 25. 抽象三层应用程序的数据层(DAL)
- 26. C#GUI和代理用作抽象层
- 27. 数据抽象
- 28. 通过在C抽象库++
- 29. 从业务对象中抽象出数据访问层
- 30. Rails数据库抽象为Java