guile-dbi предоставляет простой, универсальный и удобный в использовании интерфейс схемы Guile для баз данных SQL, таких как Postgres, MySQL или SQLite3.
Система является «универсальной» в том смысле, что один и тот же программный интерфейс (интерфейсная часть) может использоваться с разными базами данных. Часть DBI (независимая от базы данных) предоставляет интерфейсы схемы. Плагины DBD (зависящие от базы данных) подключаются к реальному SQL-серверу. В настоящее время существуют серверные части DBD для Postgres, MySQL и SQLite3. Создание дополнительных серверных частей DBD требует небольшого количества кода на языке C, но это простая задача.
Guile-dbi прост – это одновременно и благословение, и проклятие. По большей части все, что он делает, — это принимает строки, кодирующие операторы SQL, пересылает их в базу данных и возвращает строки в виде списков ассоциаций схемы. Выполняется минимальный объем перевода - например, столбцы SQL с плавающей запятой преобразуются в числа схемы с плавающей запятой - но нет ничего более интересного, чем это - не существует специальной обработки дат, валют и т. д. В настоящее время нет поддержка подготовленных заявлений. Опытным программистам предлагается добавить поддержку этой и других недостающих функций.
Кто-то умный, возможно, захочет придумать, как заменить код C универсальными интерфейсами FFI, чтобы вообще не было необходимости в каком-либо коде C. Однако это требует дополнительной работы, и код здесь работает нормально, так что на данный момент все выглядит хорошо.
Руководство пользователя и ссылки на guile-dbi находятся здесь.
Копия старого несуществующего сайта находится здесь.
Все обсуждения guile-dbi следует направлять по адресу: [email protected].
Об ошибках следует сообщать на сайт github guile-dbi.
В настоящее время исходный код разделен на четыре отдельных проекта: основной независимый от базы данных код в 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. Код и веб-сайт были разработаны Маурицио Бориани (2005–2006 гг.) и в настоящее время поддерживаются Линасом Вепстасом (2008–2019 гг.).