The Open Database Connectivity (ODBC) interface by Microsoft allows applications to access data in database management systems (DBMS) using SQL as a standard for accessing the data. ODBC permits maximum interoperability, which means a single application can access different DBMS. Application end users can then add ODBC database drivers to link the application to their choice of DBMS.
The ODBC interface defines:
A library of ODBC function calls of two types:
Extended functions that support additional functionality, including scrollable cursors
Core functions that are based on the X/Open and SQL Access Group Call Level Interface specification
SQL syntax based on the X/Open and SQL Access Group SQL CAE specification (1992)
A standard set of error codes
A standard way to connect and logon to a DBMS
A standard representation for data types
The ODBC solution for accessing data led to ODBC database drivers, which are dynamic-link libraries on Windows and shared objects on UNIX and Linux, and dynamic libraries on macOS. These drivers allow an application to gain access to one or more data sources. ODBC provides a standard interface to allow application developers and vendors of database drivers to exchange data between applications and data sources.