Microsoft Open Database Connectivity (ODBC) es una interfaz de programación de aplicaciones (API) que está diseñada para poder acceder a datos desde un sistema diferente de administración de bases de datos (DBMS). ODBC está diseñado para poder almacenar toda una serie de datos relacionales.
En primer lugar, ODBC es una especificación para una API de base de datos. Esta API es independiente de cualquier DBMS o sistema operativo: aunque este manual utiliza C, la API de ODBC es independiente del idioma. La API de ODBC se basa en las especificaciones CLI de Open Group e ISO/IEC. ODBC 3. x implementa por completo ambas especificaciones (las versiones anteriores de ODBC se basaban en versiones preliminares de estas especificaciones. pero no las implementaban por completo) y agrega funciones que los desarrolladores de aplicaciones de bases de datos basadas en pantalla necesitan comúnmente, como cursores desplazables.
Las funciones de la API de ODBC son implementadas por desarrolladores de controladores específicos de DBMS. Las aplicaciones llaman a las funciones de estos controladores para acceder a los datos de forma independiente del DBMS. Un administrador de controladores gestiona la comunicación entre las aplicaciones y los controladores.
Para ayudar a los desarrolladores de controladores y aplicaciones, Microsoft ofrece un kit de desarrollo de software (SDK) de ODBC para equipos que ejecutan Windows 95 y versiones posteriores que proporciona el administrador de controladores, la DLL del instalador, las herramientas de prueba y las aplicaciones de muestra. Microsoft se ha asociado con Visigenic Software para trasladar estos SDK a Macintosh y una variedad de plataformas UNIX.
Es importante comprender que ODBC está diseñado para exponer las capacidades de la base de datos, no para complementarlas. Por lo tanto, los desarrolladores de aplicaciones no deben esperar que el uso de ODBC transforme repentinamente una base de datos simple en un motor de base de datos relacional con todas las funciones. Tampoco se espera que los escritores de controladores implementen funciones que no se encuentran en la base de datos subyacente. Una excepción a esto es que los desarrolladores que escriben controladores que acceden directamente a los datos del archivo (como los datos en un archivo Xbase) deben escribir un motor de base de datos que admita al menos una funcionalidad mínima de SQL. Otra excepción es que el componente ODBC del SDK de Windows, anteriormente incluido en el SDK de Microsoft Data Access Components (MDAC), proporciona una biblioteca de cursores que simula cursores desplazables para controladores que implementan cierto nivel de funcionalidad.
Las aplicaciones que usan ODBC son responsables de cualquier funcionalidad entre bases de datos. Por ejemplo, ODBC no es un motor de combinación heterogéneo ni un procesador de transacciones distribuidas. Sin embargo, debido a que es independiente de DBMS. se puede usar para crear tales herramientas de bases de datos cruzadas.