您最喜欢的跨平台解决方案是什么?在C / C ++中访问多个不同的数据库(MySQL,Oracle ...)? [关闭]

问题描述 投票:2回答:6

我正在编写一个简单的C ++应用程序,它可能安装在Linux或Windows上,并且将连接到数据库。我希望我的应用程序至少与Oracle和MySQL(或PostgreSQL)兼容。

您建议使用哪个C或C ++库来处理数据库查询:我对任何库都开放,无论它是非常薄(只执行SQL查询)还是非常胖(整个对象持久层,集群等)。

请给每个答案一个库。一点描述(利弊)会很棒。非常感谢。

c++ c database cross-platform
6个回答
3
投票

我喜欢使用SOCI,它非常像C ++。就Oracle数据库的性能而言,它与本机OCI相当。它为一些RDBMS提供后端:

  • 神谕
  • PostgreSQL的
  • MySQL的

还有一些在CVS存储库中。

它使用起来相当简单,文档很全面,理由很清楚。它支持连接池,具有很好的可扩展的数据类型之间的转换方式。


2
投票

我真的很喜欢QtSql

  • 它具有设计良好和跨平台的优点。
  • 缺点是它是LGPLv3(或商业)许可,可能不适合所有人。

您不必使用Qt GUI,但如果您还需要GUI库,那就太棒了。


1
投票

这正是ODBC的设计目标。是的,它是由微软设计的,但几乎每个平台都有实现,现在几乎每个数据库产品都有。


1
投票

我使用SQLAPI ++,它是一个很棒的产品。你可以免费试用它,它很容易上手,它们的支持非常棒。

http://www.sqlapi.com/


0
投票

真的吗? Data Providers

没有什么比为每个数据库定制数据调用更好的了。通用解决方案往往有太多的妥协IMO。


0
投票

实际上,随着时间的推移,你最好远离数据提供者API,你将遭受版本控制和默认的参数化问题。当你真正需要完全优化的后端时,最好是使用SOCI,否则坚持使用OTL4.0进行ODBC调用等任何服务商。

© www.soinside.com 2019 - 2024. All rights reserved.