Подтвердить что ты не робот

Что такое лучшая библиотека SQL для использования в Common Lisp?

В идеале что-то будет работать с Oracle, MS SQL Server, MySQL и Posgress.

4b9b3361

Ответ 1

если вы имеете в виду общий lisp на lisp, тогда cl-rdbms. он сильно тестируется на postgres (использует postmodern в качестве бэкэнда lib), он имеет бэкэнд sqlite для игрушек и также имеет оракул на основе OCI бэкенд. он поддерживает абстрагирование от разных диалектов sql, имеет расширение синтаксиса квазикоманды sql, устанавливаемое на, например, [].

Я не уверен, если он лучший, и я все равно...:), но мы закончили свой собственный lib после использования clsql некоторое время, что я считаю наиболее широко используемым sql lib для cl.

см. страницу cliki о sql для дополнительной справки.

Ответ 2

В настоящий момент нет библиотеки с открытым исходным кодом, которая поддерживает все SQL-серверы, о которых вы упоминаете. CLSQL подходит довольно близко (отсутствует поддержка только MS SQL). Альтернативы:

  • CL-RDBMS (который поддерживает Oracle, Postgres через Postmodern и SQLite3)
  • Postmodern (только Postgres).

Если вы можете использовать коммерческий Lisp, вы можете попробовать CommonSQL, включенный в Lispworks, который поддерживает все указанные вами базы данных.

CLSQL выглядит как самая популярная библиотека с открытым исходным кодом на данный момент. К сожалению, он, похоже, страдает от бит-гниения, и разработчикам пришлось сделать некоторые компромиссы для поддержки всех этих платформ.

Если база данных RDB не является ограничением, я рекомендую Postmodern. Он очень хорошо документирован и имеет чистый API (и хороший небольшой язык, скомпилированный для SQL). Кроме того, он хорошо поддерживается и достаточно мал, чтобы оставаться понятным и расширяемым. Он фокусируется только на Postgres, не пытаясь быть всем для всех людей.