c++ - 以可移植的方式使用 DB Api

标签 c++ database jdbc cross-platform odbc

我需要开发某种应用程序并在其中使用数据库。

假设我目前想在 Windows 上开发它,但是,几个月后我可能必须将其迁移到 Linux。

我开始阅读一些相关内容,但无法找到我需要的内容。

是否有用于使用数据库的通用/可扩展/标准 API?

我读到有 ODBC、JDBC、iOBDC、unixODBC ?为什么所有这些都存在?

有人可以帮助我理清并理清这个问题吗?

编辑 - 我正在使用 C++ - 所以请向这个方向提出建议,尽管我会欣赏跨语言/跨平台的建议

最佳答案

有一堆用于通用数据库访问的 C++“包装”库,这是我的一些想法:

  • SOCI - 现代 C++ 语法,积极开发,与 boost 配合良好,支持多个后端
  • OTL - 仅标题(模板),非常轻量级

这两个都源于 Oracle 特定的工作,但现在至少支持几个其他数据库。
当然,您无法真正隐藏供应商差异,但这是一般情况 law of leaky abstractions .

关于c++ - 以可移植的方式使用 DB Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2030750/

相关文章:

java - 安卓 : SQLite : Find closest value from a table

mysql - 使用jsp插入mysql数据库抛出异常

c++ - 为什么 g++ 链接器不警告这个不一致的函数声明?

c++ - 二叉搜索树(搜索函数返回 NULL)

c++ - 在 C++ 容器中高效存储多态游戏对象

mysql - 如何在 SQL 中取回常量值

c++ - 在 C++ 中将模拟对象转换为它们的抽象基类

c# - 新的 DbConnection 性能

java - 是否有高性能 JDBC 支持的 JMS 代理?

java - 嵌套异常是 java.sql.SQLException : Invalid column name ORACLE