В идеале что-то будет работать с Oracle, MS SQL Server, MySQL и Posgress.
Что такое лучшая библиотека SQL для использования в Common Lisp?
Ответ 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, не пытаясь быть всем для всех людей.
Ответ 3
Allegro Common Lisp имеет ODBC и , которая полностью документирована. Я использовал MySQL один; никаких сюрпризов.