ODBC 4.0
ODBC is a data access API that allows an application to be written without having to specify the database system that it will use when run. In other words, ODBC insulates the application from the specifics of accessing a database.
The release history of ODBC is:
Version | Released | Description |
---|---|---|
1.0 | 1993 | The first version of ODBC. Only a few ODBC 1.0 applications and drivers still exist on Windows, and none we know of on Linux. |
2.0 | 1994 | The second version of ODBC. Small reorganisation of the API. For example, SQLBindParameter replaced SQLSetParam ; core, level 1 and level2 2 conformance changes; new data types.
There are still a number of ODBC 2.0 applications and drivers around. On Linux, most ODBC drivers are ODBC 3.x, and the few that are still ODBC 2.0 are generally moving to 3.x. There was also an ODBC 2.5. |
3.0 | 1995 | ODBC 3.0 introduced a large number of new APIs and ODBC descriptor handles. Most ODBC drivers on Linux are now ODBC 3.0 and many applications are also 3.0. |
3.5x | 1997 | Introduction of Unicode support. |
3.8x | 2009 | Driver-aware connection pooling, which allows an ODBC driver to better estimate the cost of reusing a connection from the pool based on a user's connection settings.
Asynchronous connection operation, which enable applications to populate multiple connections in the pool at startup time so that subsequent connection requests can be more efficiently served. Driver-specific C data types. These are useful for supporting new DBMS data types that existing C types don't correctly represent. Before version 3.8, ODBC drivers had to use a generic type such as Streamed output parameters, which enable an application to call |
Microsoft recently announced it was working on ODBC 4.0, the first significant update to the ODBC specification since 1997. ODBC 4.0 aims to address the requirements of modern data stores. For example, data with a hierarchical structure or a data source that uses web authentication to control access to it.
The major new features that ODBC 4.0 includes are:
Feature | Description |
---|---|
Private drivers | ODBC drivers that are only visible to a particular application. Private drivers are not exposed in the system wide ODBC data source administrator application. |
Language extensions through additional SQL Escape Clauses | ODBC escape clauses provide a DBMS-neutral way for applications to uses constructs that are not part of SQL-92. For example, outer joins, function execution, datetime literals and so on. ODBC 4.0 provides new escape sequences to cover additional SQL constructs such as limit clauses as well as other extensions to SQL such as selecting inserted, updated or deleted values. |
Semi-structured data: Tables whose schema may not be defined or may change on a row-by-row basis | A schema can be inferred from a schema-less source such as a JSON, XML, or CSV document, to expose a standard relational view of the data. |
Hierarchical data: Data with nested structure (structured fields, lists) | Applications requesting ODBC 4.x may see a more faithful representation of hierarchically structured data containing row, collection, and untyped data values. |
Web authentication | The ODBC API SQLDriverConnect has been changed to be compatible with the requirements of a web authentication mechanism such as OAuth . For example, it will be possible to use SQLDriverConnect to initially supply an access token with a limited lifetime and then extend the duration of a session with a refresh token. |