CBBrowne Computing

Data-Dictionary Programming Interfaces

Programs 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.

linux users conflict resolution seminar