【问题标题】:Using DB Api in a portable manner以可移植的方式使用 DB Api
【发布时间】:2010-01-08 21:08:35
【问题描述】:

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

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

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

是否有用于使用 DB 的通用/可移植/标准 api?

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

有人可以帮助我解决这个问题吗?

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

【问题讨论】:

    标签: c++ database jdbc cross-platform odbc


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      只需将JDBC API 与 JDBC 驱动程序结合使用。不要使用 ODBC(桥接)驱动程序。

      【讨论】:

        【解决方案3】:

        如果您的数据库负载不是很重,我建议您使用SQLite。您只需要一个头文件和一个源文件(合并版本)。而且它非常便携。 我一直在 Windows 和 Linux 上使用它。

        【讨论】:

          猜你喜欢
          • 2013-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-09
          • 1970-01-01
          相关资源
          最近更新 更多