我喜欢JDBC for Java和DB-API for Python的想法,它们都为访问不同的关系数据库管理系统提供了统一的API。
它在C中是什么样子的?
对于不同的RDBMS,C语言是否有统一的API?
我还没有找到,否则我可能会错过它。这样的努力成功吗?POSIX似乎没有定义一个统一的API来访问RDBMS。
谢谢。
注意:我试图阅读有关postgresql的C语言中的libpq的内容,但与JDBC和DB-API相比,我觉得postgresql特定的API很复杂。我还没有检查特定于sqlite或特定于mysql的API,但我希望它们与libpq中的API不同。
发布于 2018-09-02 01:06:27
1989年,Oracle、Informix、Ingres、DEC、Tandem、Sun和HP组成了SQL Access Group,并定义了Call Level Interface以允许C(和COBOL)程序访问SQL数据库。现在,这个接口规范不是由POSIX管理的,而是由ISO/IEC (因此是官方SQL标准的一部分)管理的,并且也由所有其他SQL数据库实现。
微软的命令行界面的实现被称为"ODBC“(具有extensions)。正如你的问题所示,没有人知道"CLI“这个缩写,所以其他OSes上的实现也称自己为"ODBC”(例如,unixodbc、iodbc)。在Windows之外,它们并不是非常广泛。
https://stackoverflow.com/questions/52096454
复制相似问题