16

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

4

3 回答 3

11

如果您的意思是 lisp 的 common lisp,那么就是cl-rdbms。它在 postgres 上经过大量测试(使用postmodern作为后端库),它有一个玩具 sqlite 后端,它还有一个基于 OCI 的 oracle 后端。它支持抽象出不同的 sql 方言,具有可安装在例如 [] 字符上的 sql 准引号语法扩展。

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

请参阅有关 sql 的 cliki 页面以获取更多参考。

于 2008-09-23T19:52:59.523 回答
7

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

  • CL-RDBMS(通过 Postmodern 和 SQLite3 支持 Oracle、Postgres)
  • 后现代(仅限 Postgres)。

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

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

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

于 2008-09-23T19:43:18.470 回答
2

Allegro Common Lisp 有一个ODBC库和一个MySQL 特定的库,两者都有详尽的文档记录。我用的是 MySQL 的;没有惊喜。

于 2008-10-23T05:37:21.773 回答