Какую библиотеку SQL лучше всего использовать в Common Lisp?[закрыто]
-
02-07-2019 - |
Вопрос
В идеале что-то, что будет работать с Oracle, MS SQL Server, MySQL и Posgress.
Решение
если под lisp вы имеете в виду common lisp, то есть cl-rdbms.он тщательно протестирован на Postgres (использует постмодернистский в качестве внутренней библиотеки), у него есть игрушечный SQLite-сервер, а также серверная часть Oracle на основе OCI.он поддерживает абстрагирование различных диалектов sql, имеет расширение синтаксиса квазикавычек sql, которое можно установить, например.персонажи.
Я не уверен, что это лучшее, и в любом случае я предвзят...:) но в итоге мы создали собственную библиотеку после использования clsql какое-то время это, я думаю, наиболее широко используемая библиотека sql для cl.
видеть страница клики о sql для дальнейшей справки.
Другие советы
На данный момент не существует библиотеки с открытым исходным кодом, которая поддерживала бы все упомянутые вами серверные части SQL. CLSQL подходит довольно близко (отсутствует только поддержка MS SQL).Альтернативы:
- CL-СУБД (который поддерживает Oracle, Postgres через Postmodern и SQLite3)
- Постмодерн (только Постгрес).
Если вы можете использовать коммерческий Lisp, вы можете попробовать CommonSQL включен в Lispworks, который поддерживает все упомянутые вами базы данных.
CLSQL выглядит как самая популярная библиотека с открытым исходным кодом на данный момент.К сожалению, похоже, он немного подгнил, и разработчикам пришлось пойти на некоторые компромиссы, чтобы поддерживать все эти платформы.
Если серверная часть RDB не является ограничением, я рекомендую Postmodern.Он очень хорошо документирован и имеет чистый API (и приятный небольшой язык, скомпилированный в SQL).Кроме того, он хорошо поддерживается и достаточно мал, чтобы оставаться понятным и расширяемым.Он фокусируется только на Postgres, не пытаясь быть всем для всех.
В Allegro Common Lisp есть ОДБК библиотека и MySQL-специфичный библиотека, обе исчерпывающе документированы.Я использовал MySQL;без сюрпризов.