Data-Dictionary Programming InterfacesPrograms that
need to browse unknown databases (databases whose schema are
not known at the time that the application is being
written/compiled) have to solve the problem of figuring out
what all of the SQL tables are, and what the data types (int,
float, date, string, etc.) of each field in a table are.
Collectively, this information is called the "data dictionary".
The process of discovering what a database contains is
analogous to the concept of "object introspection" or
"reflection" that is found in Java, Scheme, CORBA's DynAny and
Microsoft's C#/CLI/CLR .net strategy. The following programming
interfaces attempt to provide the kind tools needed to be able
to dynamically discover information about a database, and
manipulate it in a straightforward manner.
- hk_classes
-
hk_classes
provides a set of C++ classes for accessing SQL
databases. hk_classes is the non-graphical spin-off of
Knoda, the
KDE-based graphical forms-designer/report generator.
Handy because it allows you to perform many basic query
activitives without having to write any SQL queries.
- BondDB
-
BondDB from
Treshna provides
a database access abstraction suitable for the
development of data-driven applications. BondDB is the
non-GUI spin-off of the graphical, data-driven
Bond rapid
application development system. BondDB is
dual-licensed under the GPL and a commercial
license. The GPL prevents proprietary development
on top of BondDB, which is exactly what the
(non-free) commercial license provides.
- libgda
- libgda is the
non-graphical spin-off of the GnomeDB project. It provides
a set of abstract programming interfaces that can access
not only SQL databases, but (in theory??) XML data
providers, flat files, LDAP databases, and (in theory)
other data sources. This project is still quite young (i.e.
alpha/beta, missing many features) but it does provide the
basic dynamic data/data dictionary interfaces needed to
explore unknown databases.
|
|
|