Существует ли единый API в C для разных RDBMS? - PullRequest
0 голосов
/ 30 августа 2018

Мне нравится идея JDBC для Java и DB-API для Python, которые предоставляют унифицированные API для доступа к различным системам управления реляционными базами данных.

Каково это в C?

Существует ли единообразный API в C для разных РСУБД?

Я не нашел ни одного, или я мог бы пропустить это. Являются ли такие усилия успешными? POSIX, похоже, не определяет единый API для доступа к СУБД.

Спасибо.

Примечание: я пытался прочитать о libpq в C для postgresql, но чувствовал, что специфичный для postgresql API был сложным по сравнению с JDBC и DB-API. Я еще не проверил API, специфичный для sqlite или mysql, но ожидаю, что он не похож на тот, что был в libpq.

1 Ответ

0 голосов
/ 01 сентября 2018

В 1989 году Oracle, Informix, Ingres, DEC, Tandem, Sun и HP сформировали группу доступа SQL и определили интерфейс уровня вызовов , чтобы разрешить C (и COBOL) программы для доступа к базам данных SQL. В настоящее время эта спецификация интерфейса управляется не POSIX, а ISO / IEC (и, следовательно, частью официального стандарта SQL), а также была реализована всеми другими базами данных SQL.

Реализация CLI от Microsoft известна как «ODBC» (и имеет расширений ). И, как показывает ваш вопрос, никто не знает аббревиатуру «CLI», поэтому реализации в других ОС также называют себя «ODBC» (например, , ). За пределами Windows они не очень распространены.

...