¿Cuál es la mejor biblioteca SQL para usar en Common Lisp?


16

Lo ideal sería algo que funcione con Oracle, MS SQL Server, MySQL y Posgress.

11

si se refiere a lisp común por lisp, entonces está cl-rdbms. que está fuertemente probado en postgres (utiliza postmodern como el lib backend), tiene un backend sqlite juguete y también tiene un backend oráculo basado OCI. admite la extracción de los diferentes dialectos sql, tiene una extensión de sintaxis sq-cuasi-quote instalable en p. los caracteres.

no estoy seguro de si es el mejor, y estoy sesgado de todos modos ... :) pero terminamos rodando nuestra propia lib después de usar clsql por un tiempo, que es la utilidad sql más utilizada para cl.

ver cliki page about sql para referencia futura.


7

Por el momento no hay una biblioteca de código abierto que admita todos los backends SQL que mencione. CLSQL viene bastante cerca (solo falta soporte para MS SQL). Las alternativas son:

  • CL-RDBMS (que soporta Oracle, Postgres través posmodernos y SQLite3)
  • Postmodern (sólo Postgres).

Si puede usar un Lisp comercial, puede probar CommonSQL incluido con Lispworks, que es compatible con todas las bases de datos que ha mencionado.

CLSQL parece ser la biblioteca de código abierto más popular en este momento. Desafortunadamente, parece sufrir de putrefacción, y los desarrolladores tuvieron que hacer algunos compromisos para soportar todas esas plataformas.

Si el backend RDB no es una restricción, entonces recomiendo Postmodern. Está muy bien documentado y tiene una API limpia (y un pequeño y agradable lenguaje compilado en SQL). Además, está bien mantenido y lo suficientemente pequeño como para seguir siendo comprensible y extensible. Se enfoca solo en Postgres, no tratando de ser todo para todas las personas.

  0

que está mal. vea http://www.cliki.net/SQL 23 sep. 082008-09-23 19:54:12

  0

Supongo que tenía razón. Pero si CLSQL soportaba MS SQL * I * sería correcto :-) De todos modos, edité mi respuesta. 23 sep. 082008-09-23 20:14:06

  0

¿MS SQL no puede ser alcanzado por ODBC? Se supone que CL-SQL es compatible con ODBC. 24 sep. 082008-09-24 12:24:03

  0

No dicen nada sobre MS SQL en la documentación de CLSQL. 24 sep. 082008-09-24 23:40:18

  0

CLSQL definitivamente se comunica con MSSQL sobre ODBC muy bien (mejor que el ODBC simple en mi experiencia limitada) 04 jun. 152015-06-04 12:46:50


2

Allegro Common Lisp tiene una biblioteca ODBC y una biblioteca MySQL-specific, ambas exhaustivamente documentadas. He usado el de MySQL; no hay sorpresas.