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

时间:2008-09-23 19:29:14

标签: sql database postgresql lisp common-lisp

理想情况下适用于Oracle,MS SQL Server,MySQL和Postgres。

3 个答案:

答案 0 :(得分:11)

如果你的意思是lisp的普通lisp,那么 cl-rdbms 。它在postgres上进行了大量测试(使用postmodern作为后端lib),它有一个玩具sqlite后端,它还有一个基于OCI的oracle后端。它支持抽象出不同的sql方言,有一个sql准语句扩展可安装在例如[]字符。

我不确定它是否是最好的,而且我仍然有偏见...... :)但我们在使用clsql一段时间之后最终推出了我们自己的lib,这是我认为最广泛的使用sql lib进行cl。

请参阅cliki page about sql以获取进一步的参考。

答案 1 :(得分:7)

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

  • CL-RDBMS(通过Postmodern和SQLite3支持Oracle,Postgres)
  • Postmodern(仅限Postgres)。

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

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

如果RDB后端不是约束,那么我推荐Postmodern。它有很好的文档记录,并且有一个干净的API(以及编译为SQL的一个很好的小语言)。此外,它维护得很好,足够小,可以保持可理解和可扩展性。它只关注Postgres,而不是试图成为所有人的所有事物。

答案 2 :(得分:2)

Allegro Common Lisp有一个ODBC库和一个MySQL-specific库,两者都有详尽的文档。我使用过MySQL;没什么惊喜。