什么是Common Lisp中使用的最佳SQL库?

时间:2020-03-06 14:37:17  来源:igfitidea点击:

理想情况下,可以与Oracle,MS SQL Server,MySQL和Posgress一起使用的工具。

解决方案

目前,没有开源库支持我们提到的所有SQL后端。 CLSQL非常接近(仅缺少对MS SQL的支持)。替代方法是:

  • CL-RDBMS(通过后现代和SQLite3支持Oracle,Postgres)
  • 后现代的(仅Postgres)。

如果可以使用商业Lisp,则可以尝试使用Lispworks附带的CommonSQL,它支持我们提到的所有数据库。

CLSQL看起来像目前最受欢迎的开源库。不幸的是,它似乎有点腐烂,开发人员不得不做出一些妥协才能支持所有这些平台。

如果RDB后端不是一个约束,那么我建议使用后现代。它的文档非常齐全,并且具有简洁的API(以及一种很好的编译成SQL的小语言)。而且,它维护得很好并且足够小以保持可理解和可扩展。它只专注于Postgres,而不是试图成为所有人的万物。

如果我们是用lisp来表示普通lisp,那么有cl-rdbms。它在postgres上经过了严格的测试(使用postmodern作为后端库),它具有一个小型的sqlite后端,还具有一个基于OCI的oracle后端。它支持抽象出不同的SQL方言,并具有可在sql上安装的sql准引用语法扩展名。那些角色。

我不确定这是否是最好的,无论如何我还是有偏见... :)但是在使用clsql一段时间后,我们最终滚动了自己的lib,这是我认为cl最广泛使用的sql lib。

有关SQL的更多信息,请参见cliki页。

Allegro Common Lisp有一个ODBC库和一个MySQL特定的库,均已详尽记录。我用过MySQL。没什么好奇怪的