guile-dbi为 SQL 数据库(例如 Postgres、MySQL 或 SQLite3)提供了一个简单、通用、易于使用的guile 方案接口。
该系统是“通用的”,因为相同的编程接口(前端)可以与不同的数据库一起使用。 DBI(独立于数据库)部分提供方案接口。 DBD(依赖于数据库)插件连接到实际的 SQL 服务器。目前,有 Postgres、MySQL 和 SQLite3 的 DBD 后端。创建额外的 DBD 后端需要少量的 C 编码,但这是一项简单的任务。
Guile-dbi 很简单——这既是福也是祸。在大多数情况下,它所做的只是接受编码 SQL 语句的 guile 字符串,将它们转发到数据库,并将行作为方案关联列表返回。执行最小量的转换 - 例如,SQL 浮点列转换为方案浮点数 - 但没有什么比这更奇特的了 - 对日期、货币等没有特殊处理。此时,没有支持准备好的陈述。欢迎有能力的程序员添加对此功能和其他缺失功能的支持。
聪明的人可能想弄清楚如何用通用 FFI 接口替换 C 代码,这样就根本不需要任何 C 代码。然而,这需要更多的工作,而且这里的代码工作正常,所以,目前看来一切正常。
guile-dbi 用户手册和参考位于此处。
这里有一个已失效的旧网站的副本。
所有有关 guile-dbi 的讨论均应发送至:[email protected]。
错误应报告给 guile-dbi github 站点。
目前,源代码被组织成四个不同的项目:DBI 中与数据库无关的主要代码,以及三个不同的 DBD 驱动程序。您必须独立构建每个。你需要做这样的事情:
apt-get install autoconf automake texinfo
或者也许
yum install autoconf automake texinfo
然后:
cd guile-dbi
./autogen.sh --no-configure
可选:
ACLOCAL_PATH=/usr/local/share/aclocal/ ./autogen.sh --no-configure
然后
mkdir build
cd build
../configure
make
sudo make install
然后
cd guile-dbd-[mysql, postgresql, sqlite3]
./autogen.sh --no-configure
mkdir build
cd build
../configure
make
sudo make install
完成此操作后,用户手册中的教程应该可以正常工作。
Guile-dbi 根据 Gnu GPLv2 许可证分发。代码和网站由 Maurizio Boriani (2005-2006) 开发,目前由 Linas Vepstas (2008-2019) 维护。