CLSQL

CLSQL is a Database interface Library for Common Lisp that can access a number of different SQL database engines. It is maintained by Kevin Rosenberg.

CLSQL now includes the CommonSQL API interface. CLSQL's manual is online at http://clsql.b9.com/documentation.html.

CLSQL uses the UFFI interface so it works on:

CLSQL supports a number of database interfaces:

There are CLSQL packages in the Debian and Gentoo distributions. CLSQL is covered by the LGPL license.
CLSQL can be downloaded from its web site or Download ASDF package from http://files.b9.com/clsql/clsql-latest.tar.gz

Additional Documentation

Bill Clemenston has written two entries about CLSQL, in his web log:

To quote his Part 1:

If you would like to see some more examples of how to use CLSQL, the CLSQL tutorial is quite useful. Also, the tremendous CommonSQL tutorial that Nick Levine gave at ILC2002 is an excellent introduction to CLSQL. Even though his tutorial is targetted towards LispWorks CommonSQL, the examples work equally well in CLSQL (with the occasional minor tweak).

Looping over query result

Iterate supports looping over CLSQL queries through the use of iterate-clsql extension.

Lispbox workaround

You may get an error claiming that CLSQL can't find "foreign libraries." Find the directory where those files are located, and use clsql:push-library-path. They will likely be wherever CLSQL was installed, for example:

(clsql:push-library-path #p"/home/myusername/.sbcl/site/clsql-3.5.6/db-mysql/") ;installed here by asdf-install

This may also occur with OpenMCL; same solution.


Pages in this topic: cl-rdbms   SQLite Lisp interface  


Also linked from: A Short web application tutorial   Categorized Libraries   cirCLe Task List   CL-MD5   clsql-pg-introspect   Common String   Current recommended libraries   Debian   lisp-on-lines   Log4CL   Marko Kocic   mod_lisp   UFFI   UncommonSQL   Weblog   YstokSQL  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively