¿Por qué se creó ODBC?
Históricamente, las empresas usaban un único DBMS. Todo el acceso a la base de datos se realizaba mediante el front-end de ese sistema o mediante aplicaciones escritas para funcionar exclusivamente con ese sistema. Sin embargo, a medida que el uso de equipos creció y más hardware informático y software fue haciéndose disponible, las empresas empezaron a adquirir diferentes DBMS. Las razones eran muchas: las personas compraban lo más barato, lo que era más rápido, lo que ya sabían, lo que era más reciente en el mercado, lo que funcionaba mejor para una sola aplicación. Otras razones eran reorganizaciones y fusiones, donde los departamentos que tenían anteriormente un único DBMS ahora tenían varios.
El problema aumentó de complejidad con la llegada de ordenadores personales. Estos equipos trajeron una serie de herramientas para consultar, analizar y mostrar datos, junto con una serie de bases de datos económicas y fáciles de usar. A partir de entonces, una sola empresa a menudo tenía datos dispersos en una gran cantidad de escritorios, servidores y miniordenadores, almacenados en una variedad de bases de datos incompatibles, y a los que accedía un gran número de herramientas diferentes, algunoas de los cuales podían obtener todos los datos.
El último desafío llegó con la llegada del entorno cliente/servidor, que busca hacer el uso más eficaz de los recursos informáticos. Los equipos personales económicos (los clientes) se encuentran en el escritorio y proporcionan un front-end gráfico a los datos y una serie de herramientas económicas, como hojas de cálculo, programas de gráficos y generadores de informes. Los miniordenadores y equipos centrales (los servidores) hospedan los DBMS, donde pueden usar su potencia informática y ubicación central para proporcionar acceso rápido y coordinado a los datos. ¿Cómo se conectará el software front-end a las bases de datos back-end?
Los proveedores de software independientes (ISV) se enfrentaban a un problema similar. Los proveedores que escribían software de base de datos para miniordenadores y sistemas centrales normalmente se vieron obligados a escribir una versión de una aplicación para cada DBMS o escribir código específico de DBMS para cada DBMS al que querían acceder. Los proveedores que escribían software para equipos personales tenían que escribir rutinas de acceso a datos para cada DBMS diferente con el que querían trabajar. Esto a menudo significaba que se dedicaba una gran cantidad de recursos a escribir y mantener rutinas de acceso a datos en lugar de aplicaciones, y las aplicaciones a menudo se vendían no por su calidad, sino por si podían acceder a datos en un DBMS determinado.
Lo que necesitaban ambos conjuntos de desarrolladores era una manera de acceder a los datos en diferentes DBMS. Los grupos de sistemas centrales y de miniordenadores necesitaban una manera de combinar datos de diferentes DBMS en una sola aplicación, mientras que el grupo de equipos personales necesitaba esta capacidad, así como una manera de escribir una sola aplicación independiente de cualquier DBMS. En resumen, ambos grupos necesitaban una manera interoperable de acceder a los datos; necesitaban una conectividad abierta de bases de datos.