C中是否有针对不同RDBMS的统一API?

问题描述 投票:1回答:1

我喜欢JDBC for Java和DB-API for Python的想法,它们都提供了统一的API来访问不同的关系数据库管理系统。

在C中它是什么样的?

C中是否有针对不同RDBMS的统一API?

我还没找到,或者我可能会错过它。这样的努力是否成功? POSIX似乎没有定义访问RDBMS的统一API。

谢谢。

注意:我试图在C中读取关于postgresql的libpq,但感觉postgresql特定的API比JDBC和DB-API复杂。我还没有检查过特定于sqlite或特定于mysql的API,但是期望它们与libpq的类似。

mysql c database sqlite libpq
1个回答
1
投票

1989年,Oracle,Informix,Ingres,DEC,Tandem,Sun和HP组建了SQL Access Group并定义了Call Level Interface以允许C(和COBOL)程序访问SQL数据库。如今,这个接口规范不是由POSIX管理,而是由ISO / IEC(因此是官方SQL标准的一部分)管理,并且也由所有其他SQL数据库实现。

Microsoft的CLI实现称为“ODBC”(并且具有extensions)。正如您的问题所示,没有人知道首字母缩略词“CLI”,因此其他操作系统上的实现也称自己为“ODBC”(例如,)。在Windows之外,它们并不是很普遍。

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