Open Database Connectivity (ODBC) is Microsoft's strategic
interface for accessing data in a heterogeneous environment of relational and
non- relational database management systems. Based on the Call Level Interface
specification of the SQL Access Group, ODBC provides an open, vendor- neutral
way of accessing data stored in a variety of proprietary personal computer,
minicomputer, and mainframe databases.
ODBC alleviates the need for
independent software vendors and corporate developers to learn multiple
application programming interfaces. ODBC now provides a universal data access
interface. With ODBC, application developers can allow an application to
concurrently access, view, and modify data from multiple, diverse databases.
ODBC is a core component of Microsoft Windows Open Services
Architecture. Apple has endorsed ODBC as a key enabling technology by
announcing support into System 7 in the future. With growing industry support,
ODBC is quickly emerging as an important industry standard for data access for
both Windows and Macintosh applications.
ODBC is a specification to which developers write either:
- An ODBC-enabled "front-end" or "client" desktop
application, also known as an "ODBC Client." This is the application that the
computer-user sees on the computer screen.
- An ODBC Driver for a "back-end" or "server" DBMS (Database
Management System). This is the DBMS application that resides on a computer
that is used to store data for access by several users. This application is not
what is loaded on the end user's computer. This server application is usually
more robust (faster, with centralized security, and backups of data, and so
forth) than the client application. The ODBC Driver resides between the ODBC
Client and the DBMS; however, it is loaded on the front-end computer.
To use ODBC, the following three components are required:
ODBC CLIENT - an ODBC-enabled front-end (also called ODBC client) -
Examples: Microsoft Access, an application created with Access, an application
created with Microsoft Visual Basic, an application created with C+Win SDK+ODBC
SDK, or ODBC-enabled applications from other vendors (such as Lotus).
ODBC DRIVER - an ODBC Driver for the ODBC Server. The ODBC Driver
Catalog contains an extensive listing of ODBC Drivers. For example, the
Microsoft ODBC Driver Pack is a collection of seven ODBC Drivers ready to be
used or bundled with ODBC clients. A SQL Server ODBC Driver is included with
Access, and Informix is working on an ODBC driver for Informix. To obtain an
ODBC Driver Catalog, call the Microsoft Order Desk at (800) 360-7561. If you
are outside the United States, contact your local subsidiary. To locate your
subsidiary, see the Microsoft World Wide Offices Web site at:
Any ODBC client can access any DBMS for which there is an ODBC
DBMS SERVER is a back-end or server DBMS, for example SQL
Server, Oracle, AS/400, Foxpro, Microsoft Access, or any DBMS for which an ODBC
How do these three components interact?
The ODBC client uses a language or vocabulary of commands (which
is referred to as "ODBC") to request data from, or to send data to, the back-
end or server DBMS. However, the DBMS doesn't understand the ODBC client
request until the command passes through the ODBC Driver for that specific
DBMS. This ODBC driver is software that resides on the front-end. The ODBC
driver translates the command into a format that the ODBC Server can
understand. The ODBC Server sends the answer back to the ODBC Driver, which
translates the answer into a format that the ODBC Client can understand.
What's so great about ODBC?
First, application developers don't need to modify their
applications to allow them to access data from several back-ends. As long as
there is an ODBC Driver for a particular back-end, an ODBC-enabled front-end
can access it. Second, one ODBC Driver for a particular DBMS allows any
ODBC-enabled application to be an ODBC client.
Examples of ODBC in Use
- Access front-end accessing data from a Oracle back-end
using the Oracle ODBC Driver, which ships with Access 1.1.
- Visual Basic front-end accessing data from a dBASE back-end
using the dBASE ODBC Driver, which is part of the MS ODBC Database Drivers
- C application written using C+ODBC SDK+Win SDK accessing
data from an AS/400 using the AS/400 ODBC Driver available from Rochester
Basic Questions and Answers
- What is the ODBC SDK?
The ODBC SDK is
distributed on floppy disks, and contains about 150 pages of text that allows a
developer to write an ODBC-enabled Client or an ODBC Driver. The ODBC SDK is to
be used in conjunction with the Windows Software Developers Kit (SDK) and a C
- What is the ODBC Database Driver Pack?
Database Driver Pack is a collection of ODBC Drivers that is sold by Microsoft.
- What is the ODBC Driver Catalog?
The ODBC Driver
Catalog contains descriptions of ODBC drivers developed by Microsoft and other
software companies. It contains an explanation of ODBC, and demonstrates
industry support for the standard.
- What ODBC drivers are currently available?
Dozens of ODBC drivers are currently available, including those for Microsoft
SQL Server, XLS, Text, xBase, Paradox, ODS, Oracle, RedISAM, FoxBase, Btrieve,
Integra-SQL, DEC Rdb, SQLBase, Informix, Ingres, DB2, SQL/DS, Teradata, and
- How do I write an ODBC driver?
To write an ODBC
driver, use C+Win SDK+ODBC SDK.
- What ODBC clients are currently available?
Microsoft: Access, Visual Basic, Foxpro+Connectivity Kit, Word 6.0 for Windows,
Excel 5.0, MS Query Tool.
From other vendors: PowerSoft, ObjectView,
Lotus 1-2-3, Lotus Approach, Lotus Notes, Q+E, and others.
- How does one write an ODBC client?
C+Win SDK+ODBC SDK, or by using Access, or by using Visual Basic, or by using
WinFox +Connectivity Kit, or by using one of the tools from other vendors
designed to do this.
For more information about ODBC, please see the following
articles in the Microsoft Knowledge Base:
ODBC Database Drivers 2.0 Supported Platforms
Word Development Tools
and White Papers 163734
Word Solution Migration
Information on the Web
For more information about Informix, visit the
following IBM Informix Web site:
Microsoft provides third-party contact information to help you find technical
support. This contact information may change without notice. Microsoft does not
guarantee the accuracy of this third-party contact information.
for other considerations.