The Future of ODBC
Though its name begins with open, implying that it is not tied to
a single vendor or even to a subset of RDBMS vendors, ODBC is controlled
by a single vendor - Microsoft. Microsoft defines the specification of
the API and supplies the basic driver manager software used on Microsoft
operating systems. This control has some good aspects and some bad for
the future of ODBC.
The Good (Moves towards Openness)
Microsoft has made reasonable, useful extensions to the original SQL
Access Group, SAG, definitions in creating ODBC. Later releases have
refined those extensions. Microsoft has committed to bringing Version
3.0 and future versions of ODBC more in line with SAG's specifications
and with existing standards.
The Bad (Sidetracking the Openness)
On the negative side, Microsoft is too often using ODBC as a tool of
their overall marketing campaign. Starting with Version 2.0 of ODBC,
they have controlled and restricted distribution and have changed the
specification for the sole purpose of furthering the goals of Microsoft.
These actions have certainly severely injured the openness of ODBC.
One of the attacks that MS has made on ODBC is with the OLE DB initiative.
This is discussed in the next section.
Other actions by Microsoft injurious to ODBC are:
- Updating Cursors. ANSI SQL and most RDBMSs support cursors and provide
for updates and deletes of the current row in a cursor. This is known as
UPDATE and DELETE WHERE CURRENT OF CURSOR. It is not supported by either
Microsoft RDBMSs - Access or SQL Server. In ODBC 2.0, Microsoft
introduced a complicated, non-standard mechanism to cater to their
engines. At the same time, they moved CURRENT OF CURSOR to Extension
Level 2, indicating a less common or important feature.
- 16-Bit Support. In ODBC 2.5, Microsoft removed support for 16-bit
drivers for their operating systems. Starting with ODBC 2.5, only the
32-bit Driver Manager will be distributed for Windows 95 and NT. This
has the effect for freezing all 16-bit drivers at ODBC 2.1 with no future
enhancements or bug fixes. Applications developers wishing to maintain
common 16/32 bit versions will face real difficulties
- Price Controls. Since ODBC 2.0, Microsoft has exercised control over
ODBC driver developers by forcing them to pay for the ODBC SDK. The ODBC
SDK is available from Microsoft as part of a general yearly subscription
package. The price is significant and is expected to rise in the future.
This is not an open system.
In a major strike against ODBC, Microsoft is touting their OLE DB
facility as a replacement for ODBC. OLE DB could be viewed as an object
layer placed on top of ODBC, but Microsoft is likely to provide direct
OLE DB drivers for their database products and to de-emphasize and
perhaps discontinue ODBC drivers for their products. OLE DB is not
open nor portable except between Microsoft OSs, which will become
only a single OS - NT, in the next few years.
Because of Microsoft's total control of the specification and arbitrary
complexities in the facility, OLE DB will not be supported by other
Operating Systems - OS/2, MAC OS and various flavors of UNIX. ODBC, and
Embedded SQL to a lesser degree, will remain as the only open and
portable interfaces for SQL accessable databases. Unfortunately, the fate
of ODBC is completely under the control of Microsoft.
Return to Contents Page: Open Database Access and ODBC
Return to Issues Page
Copyright © 1998 FFE Software, Inc. All Rights Reserved WorldWide