Although CLIs are common APIs that span several types of databases, providing access to any number of databases through a well-defined common interface, they are most often found working with relational databases. Such is the case with Microsoft ODBC. ODBC exposes a single interface in order to facilitate access to a database. It then uses drivers to accommodate differences between databases. ODBC also provides simultaneous multiple-database access to the same interface-in the ODBC architecture, a driver manager can load and unload drivers to facilitate communications between the different databases (e.g., Oracle, Informix, and DB2).
JavaSoft's Java Database Connectivity (JDBC) is another example of a CLI. JDBC is an interface standard that uses a single set of Java methods to facilitate access to multiple databases. JDBC is very much like ODBC,providing access to any number of databases from any Java application: applet, servlet, JSP, EJB, or standalone application. The future of Microsoft database middleware is represented by its OLE DB. OLE DB provides a standard mechanism to access any number of resources-including databases, Excel spreadsheets, and flat files-as standard objects (e.g., COM objects). OLE DB provides an object framework to retrieve a result set and then navigate and manipulate the result set in memory. OLE DB relies on the OLE Transactions transaction management framework to ensure the ACID properties (Atomicity, Consistency, Isolation, and Durability).
Rather than use a single multidatabase API, native database middleware accesses the features and functions of a particular database, using only native mechanisms. This limitation-communicating with only one type of database-is the primary disadvantage of native database middleware. Its advantages include improved performance and access to all the features of a particular type of database.
This was first published in June 2001