在 Common Lisp 中使用的最佳 SQL 库是啥? [关闭]
Posted
技术标签:
【中文标题】在 Common Lisp 中使用的最佳 SQL 库是啥? [关闭]【英文标题】:What is the best SQL library for use in Common Lisp? [closed]在 Common Lisp 中使用的最佳 SQL 库是什么? [关闭] 【发布时间】:2010-09-12 12:01:41 【问题描述】:理想情况下可以与 Oracle、MS SQL Server、mysql 和 Posgress 一起使用。
【问题讨论】:
【参考方案1】:如果你指的是 lisp 中的 common lisp,那么就是 cl-rdbms。它在 postgres 上经过大量测试(使用 postmodern 作为后端库),它有一个玩具 sqlite 后端,它还有一个基于 OCI 的 oracle 后端。它支持抽象出不同的 sql 方言,有一个 sql quasi-quote 语法扩展可安装在例如[] 字符。
我不确定它是否是最好的,而且我还是有偏见...... :) 但我们在使用 clsql 一段时间后最终推出了自己的库,我认为这是使用最广泛的 sql cl的库。
请参阅cliki page about sql 以获取更多参考信息。
【讨论】:
【参考方案2】:目前没有支持您提到的所有 SQL 后端的开源库。 CLSQL 非常接近(仅支持 MS SQL)。替代方案是:
CL-RDBMS(通过 Postmodern 和 SQLite3 支持 Oracle、Postgres) Postmodern(仅限 Postgres)。如果你可以使用商业化的 Lisp,你可以试试 Lispworks 自带的CommonSQL,它支持你提到的所有数据库。
CLSQL 看起来是目前最流行的开源库。不幸的是,它似乎有点腐烂,开发人员不得不做出一些妥协来支持所有这些平台。
如果 RDB 后端不是约束,那么我推荐 Postmodern。它有很好的文档记录,并且有一个干净的 API(以及一种编译成 SQL 的漂亮小语言)。此外,它维护得很好并且足够小以保持可理解和可扩展。它只关注 Postgres,而不是试图为所有人服务。
【讨论】:
错了。见cliki.net/SQL 我猜你是对的。但是如果 CLSQL 支持 MS SQL I 是对的 :-) 无论如何,我编辑了我的答案。 ODBC 不能访问 MS SQL 吗? CL-SQL 应该支持 ODBC。 他们在 CLSQL 的文档中没有提到 MS SQL。 CLSQL 绝对可以通过 ODBC 与 MSSQL 进行通信(在我有限的经验中比普通 ODBC 更好)【参考方案3】:Allegro Common Lisp 有一个 ODBC 库和一个 MySQL-specific 库,两者都有详尽的文档记录。我用的是 MySQL 的;没有惊喜。
【讨论】:
以上是关于在 Common Lisp 中使用的最佳 SQL 库是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 common-lisp CLOS 中指向一个 defgeneric 实例