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) 維護。