理想的には、Oracle、MS SQL Server、MySQL、および Posgress で動作するものです。
3 に答える
Lisp ごとの Common Lisp を意味する場合は、cl-rdbmsがあります。postgres (バックエンド lib としてpostmodernを使用) で十分にテストされており、おもちゃの sqlite バックエンドがあり、OCI ベースの Oracle バックエンドもあります。さまざまなSQL方言の抽象化をサポートし、[]文字などにインストール可能なSQL準引用符構文拡張機能を備えています。
それが最善かどうかはわかりませんが、とにかく偏っています... :)しかし、clsqlをしばらく使用した後、独自のlibを作成することになりました。これは、clで最も広く使用されているsql libだと思います。
詳細については、 SQL に関する CLIKI ページを参照してください。
現時点では、あなたが言及したすべての SQL バックエンドをサポートするオープンソース ライブラリはありません。CLSQLは非常に近いものです (MS SQL のサポートのみが欠けています)。代替手段は次のとおりです。
商用 Lisp を使用できる場合は、Lispworks に含まれている CommonSQL を試すことができます。これは、言及したすべてのデータベースをサポートします。
CLSQL は、現時点で最も人気のあるオープン ソース ライブラリのようです。残念ながら、少し腐敗しているようで、開発者はこれらすべてのプラットフォームをサポートするためにいくつかの妥協をしなければなりませんでした.
RDB バックエンドが制約でない場合は、Postmodern をお勧めします。非常によく文書化されており、クリーンな API (および SQL にコンパイルされた優れた小さな言語) を備えています。また、よく維持され、理解可能で拡張可能であり続けるのに十分なほど小さくなっています。これは Postgres のみに焦点を当てており、すべての人にすべてを提供することを目指しているわけではありません。