Open DataBase Connectivity.

ODBC is a database independence layer from Microsoft. It is found on various Windows platforms. This allows any application to talk to a SQL database using a standard API, rather than finding a suitable driver from the database vendor, and the database vendor to write only one driver.

Also, in theory it will make the application independent of which SQL database it uses. However there are usually subtle differences that foil this.

ODBC is now deprecated by Microsoft in favour of ADO, which is COM based, and thus exposes objects' interfaces rather than a functional API.

Both ODBC and ADO are standards in the sense that they are what Microsoft dicates that you will use when you are programming on Windows.

This is not all bad, actually. I'm quite glad that they managed to drag the industry over to ADO from ODBC. Still they were responsible for OBDC in the first place. ODBC, in turn was better than the primal chaos that preceeded it.

Open Database Connectivity (ODBC) is a widely accepted application programming interface (API) for database access.

Developed by Microsoft, it is based on the Call-Level Interface (different than CLI) specifications from X/Open and ISO/IEC standards for database APIs and uses Structured Query Language (SQL) as its database access language.

You can access an ODBC database with a few lines of code in Visual C++, but there are programs for pretty much every platform that can access it, like FileMaker Pro for Mac.

According to http://www.microsoft.com/data/odbc/default.htm

ODBC is designed for maximum interoperability—that is, the ability of a single application to access different database management systems (DBMSs) with the same source code. Database applications call functions in the ODBC interface, which are implemented in database-specific modules called drivers. The use of drivers isolates applications from database-specific calls in the same way that printer drivers isolate word processing programs from printer-specific commands. Because drivers are loaded at runtime, a user only has to add a new driver to access a new DBMS; it is not necessary to recompile or relink the application.

Log in or register to write something here or to contact authors.