Open Database Connectivity (ODBC) is a standardized database interface that uses SQL as the database language. It thus provides an application programming interface (API) that allows a programmer to develop his application relatively independently of the database management system (DBMS) used, if an ODBC driver exists for it.
ODBC allows you to set up the database access details (credentials), such as database server name, port for network access to the database, database name, database user name and password, and other details under a specific name on the client. By using this name, a client application can then connect to the database without having to know the details. ODBC was originally developed by Microsoft based on the call level interface of X/Open and ISO/IEC but has now also been adopted by other software manufacturers. ODBC is now established as a standard in many areas. ODBC drivers have different features:
- Core (basic functionality only)
- Level 1
- Level 2
Modern programming environments thus allow uncomplicated access to many different database management systems (via ready-made data-sensitive controls). Data is never accessed directly to a table or database, but always via the corresponding (ODBC) component. ODBC can be used to access any local or remote data source.
For object-oriented programming languages (e.g. C++, Java), classes are available that define methods for handling the data material of the different database systems. The programmer no longer has to worry about database-specific details. Within the Microsoft Foundation classes, support for ODBC is implemented by the CDatabase, CRecordset, CRecordView, CFieldExchange, and CDBException classes. The Data Access Objects (DAO) optimized for the Microsoft Jet Database Engine also provides indirect access to ODBC.
Since Windows 2000, ODBC has been an integral part of the operating system as part of MDAC. For earlier Windows versions, it can be installed free of charge. Microsoft announced in 2011 that the 2012 version of Microsoft SQL Server will be the last version with an OLE DB provider, for the time after that, the ODBC provider was recommended. Originally, ODBC was developed only for Windows, but now the interface is also available for database management systems on Unix operating systems.
The software works in two ways, with client-side management software, or a client-server philosophy. In the first mode, the driver interprets the SQL connections and calls and translates them from the ODBC API to the DBMS. In the second mode to connect to the database, a DSN is created within the ODBC that defines the parameters, path and characteristics of the connection according to the data requested by the creator or manufacturer.
Java Database Connectivity (JDBC) is a derivative inspired by it, an application programming interface that allows the execution of operations on databases from the Java programming language regardless of the operating system where it is executed or the database that is accessed using the SQL dialect of the database model used.