Database Engines:odbc

ODBC layers (Definition of terms) Professional

A database application that uses the Alaska Software ODBC Database Engine (ODBCDBE) consists of several layers, for each of which different terms exist. This may be confusing for a beginner since some terms can be used as a synonym for other terms. However, in this documentation synonyms are avoided (if possible) and one term is used for one thing only. This requires you to understand the meaning of the terms used.

Let us first have a look at the various layers of a database application that uses the ODBCDBE:

ODBC layers

There are six layers, all of which may reside on one computer but are usually located on two computers (or more). This is indicated in the illustration with "Client side" and "Server side" of a database application. The diagram includes several steps which can be described in the following way:

The application program loads the ODBCDBE.
The ODBCDBE connects to the ODBC Driver Manager which loads an appropriate ODBC driver. The ODBC driver connects to the DBMS. For the connection, configuration data is provided in form of an ODBC Data Source.
Once connected, the ODBCDBE communicates with the application program and the ODBC driver manager.
The ODBC driver manager communicates with the ODBCDBE and the ODBC driver.
The ODBC driver communicates with the ODBC driver manager and the DBMS.
The DBMS manages data and file access.

These steps describe the context for the terms used in this documentation and what must be done in an application to successfully access a DBMS via the ODBCDBE.

Application program

This is the executable file resulting from compiling and linking the source code of an Xbase++ application. Synonyms are: Application, Client application, Client side program, Database application.

ODBCDBE

Abbreviation for "ODBC Database Engine". This engine is available in an application program when the ODBCDBE.DLL file is loaded by calling the DbeLoad() function.

ODBC Driver Manager

A service program that manages different ODBC drivers required for different data sources.

ODBC Driver

A service program that translates requests of a client application sent to a server application (DBMS). An ODBC driver works similar to a printer driver which translates the requests of a text processing program to printer instructions. An ODBC driver translates requests of a client application to DBMS specific instructions.

ODBC Data Source

This term describes the configuration data required by ODBC driver manager and ODBC driver to connect to the data source accessed by the ODBCDBE. ODBC data sources contain the data required to connect to a data source.

Database Management System

A DBMS is a program on the server side of a database application. It handles the file access within a database and may provide for logical rules when data is changed by a client application.

Database

In Xbase programming languages, the term "Database" is used for a single DBF file. However, one DBF file represents one "Table", and a database may consist of multiple tables. Therefore, the term "Table" is a synonym for a single DBF file, while "Database" stands for all tables used by an application. A DBMS handles databases consisting of multiple tables, indexes and rules (this is unknown in Xbase programming languages but common in SQL DBMSs).

Data source

A database is a data source, but a data source is not necessarily a database. The generic term "data source" describes any kind of software that provides data for an application program. However, this term must not be confused with "ODBC Data Source". The latter contains configuration data for an ODBC Driver and the Driver Manager, while "data source" could be a database, an application server or a live data connection, for example.

It is essential to be aware of the different layers of an application program that uses the ODBCDBE. Although this looks quite complex at first sight, the usage is rather simple. The important things to know are how to load the ODBCDBE in an application program and how to supply configuration data to the ODBC layers. This is subject of the next chapter.

Feedback

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.