guile-dbi bietet eine einfache, generische und benutzerfreundliche Guile-Schema- Schnittstelle für SQL-Datenbanken wie Postgres, MySQL oder SQLite3.
Das System ist „generisch“ in dem Sinne, dass dieselbe Programmierschnittstelle (Frontend) mit verschiedenen Datenbanken verwendet werden kann. Der DBI-Teil (Datenbankunabhängig) stellt die Schemaschnittstellen bereit. Die DBD-Plugins (datenbankabhängig) stellen eine Verbindung zu einem tatsächlichen SQL-Server her. Derzeit gibt es DBD-Backends für Postgres, MySQL und SQLite3. Das Erstellen zusätzlicher DBD-Back-Ends erfordert ein wenig C-Codierung, ist aber eine unkomplizierte Aufgabe.
Guile-dbi ist einfach – was Segen und Fluch zugleich ist. Meistens akzeptiert es lediglich Guile-Strings, die SQL-Anweisungen kodieren, leitet diese an die Datenbank weiter und gibt Zeilen als Schema-Assoziationslisten zurück. Es wird nur ein minimaler Übersetzungsumfang durchgeführt – zum Beispiel werden SQL-Gleitkommaspalten in Schema-Gleitkommazahlen konvertiert – aber es gibt nichts Ausgefalleneres als dies – es gibt keine spezielle Behandlung für Datumsangaben, Währungen usw. Derzeit gibt es keine Unterstützung für vorbereitete Stellungnahmen. Kompetente Programmierer werden gebeten, Unterstützung für diese und andere fehlende Funktionen hinzuzufügen.
Jemand, der schlau ist, möchte vielleicht herausfinden, wie man den C-Code durch generische FFI-Schnittstellen ersetzt, so dass überhaupt kein Bedarf für C-Code besteht. Das erfordert jedoch mehr Arbeit und der Code hier funktioniert einwandfrei, sodass die Dinge vorerst in Ordnung zu sein scheinen.
Das guile-dbi-Benutzerhandbuch und die Referenz finden Sie hier.
Eine Kopie der alten, nicht mehr existierenden Website finden Sie hier.
Alle Diskussionen über guile-dbi sollten an folgende Adresse gerichtet werden: [email protected].
Fehler sollten der Github-Site guile-dbi gemeldet werden.
Derzeit ist der Quellcode in vier verschiedene Projekte unterteilt: Der datenbankunabhängige Hauptcode in DBI und drei verschiedene DBD-Treiber. Sie müssen jedes einzeln erstellen. Sie müssen etwa Folgendes tun:
apt-get install autoconf automake texinfo
oder vielleicht
yum install autoconf automake texinfo
Dann:
cd guile-dbi
./autogen.sh --no-configure
Optional:
ACLOCAL_PATH=/usr/local/share/aclocal/ ./autogen.sh --no-configure
Dann
mkdir build
cd build
../configure
make
sudo make install
Dann
cd guile-dbd-[mysql, postgresql, sqlite3]
./autogen.sh --no-configure
mkdir build
cd build
../configure
make
sudo make install
Danach sollte das Tutorial im Benutzerhandbuch einwandfrei funktionieren.
Guile-dbi wird unter der Gnu GPLv2-Lizenz vertrieben. Code und Website wurden von Maurizio Boriani (2005–2006) entwickelt und werden derzeit von Linas Vepstas (2008–2019) gepflegt.