gpt4 book ai didi

c++ - 尝试选择 SQL API 库

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:37:23 25 4
gpt4 key购买 nike

我刚刚开始学习如何编写访问 SQL 服务器的软件。似乎每个服务器实现(Postgres、MySQL 等)都为各种语言提供了 API 库(我的代码是用 C 和 C++ 编写的,尽管我也对 Java 和 Python 的解决方案感兴趣)。但是,我对依赖这些库有点谨慎,因为我更喜欢供应商中立的解决方案。

据我所知,Microsoft 的 ODBC API 旨在为 C/C++(以及用于 Java 的 JDBC)解决此类问题; unixODBC 似乎是一种流行的实现。到目前为止我是对的吗?

此外,是否有任何此类库提供面向对象的接口(interface)?最好不要简单地将 SQL 查询嵌入到另一种更有特色的语言中;我也想要一个模仿其他语言风格的包装器。

那么是否有符合这些思路的首选解决方案?我是在要求一些奇怪的东西吗?

最佳答案

As near as I can tell, Microsoft's ODBC API was meant to solve such problems for C/C++ (and JDBC for Java); unixODBC seems to be one popular implementation. Am I right even so far?

是的。 Python 的 ODBC 或 JDBC 的等价物称为 DB-API . Perl 的等价物称为 DBI。

Moreover, do any such libraries provide an object-oriented interface? It would be nice to not simply embed SQL queries into another, more featureful language; I'd like to have a wrapper that mimics the style of the rest of the language, too.

是的,对于不同的语言,有很多这样的东西。 C# 有 LINQ , Smalltalk 有 Roe 和 GLORP , Python 有 SQLAlchemySQLObject (Python 中的 Django 有相当多的 query power built into its ORM(参见 Simon Willison's notes )),Ruby 有 ActiveRecord,等等。我不知道你会在 C++ 中使用什么,但我敢打赌它必须使用大量丑陋的模板黑客来处理这些问题。

所有这些选择似乎势不可挡,但您对语言的选择很可能会受到除使用关系数据的便利性之外的其他因素的影响。 (如果没有,您应该考虑 Prolog。)这可能会或多或少地将您与您讨厌的某些 ORM 联系起来,就像我们其他人一样。

关于c++ - 尝试选择 SQL API 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1457319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com