Motivi per la creazione di ODBC
Storicamente, le società usavano un singolo DBMS. Tutti gli accessi al database avvenivano o attraverso il front-end di quel sistema o attraverso applicazioni scritte per funzionare esclusivamente con quel sistema. Tuttavia, con l'aumento dell'uso dei computer e la disponibilità di hardware e software, le società hanno iniziato ad acquistare diversi DBMS. Le ragioni erano molteplici: le persone compravano ciò che era più economico, ciò che era più veloce, ciò che già conoscevano, ciò che era più recente sul mercato, ciò che funzionava meglio per una singola applicazione. Altri motivi erano le riorganizzazioni e le fusioni, dove i reparti che prima avevano un unico DBMS ora ne avevano diversi.
Il problema è diventato ancora più complesso con l'avvento dei personal computer. Questi computer hanno introdotto una serie di strumenti per interrogare, analizzare e visualizzare i dati, oltre a una serie di database economici e facili da usare. Da quel momento in poi, una singola azienda aveva spesso dati sparsi su una miriade di desktop, server e minicomputer, archiviati in una serie di database incompatibili e accessibili da un gran numero di strumenti diversi, pochi dei quali potevano accedere a tutti i dati.
L'ultima sfida è arrivata con l'avvento dell’elaborazione client/server, che cerca di fare l'uso più efficiente possibile delle risorse informatiche. I personal computer economici (i client) si trovano sulla scrivania e forniscono un front-end grafico ai dati e una serie di strumenti poco costosi, come fogli di calcolo, programmi per la creazione di grafici e report. I minicomputer e i computer mainframe (i server) ospitano i DBMS, dove possono sfruttare la loro potenza di calcolo e la loro posizione centrale per fornire un accesso rapido e coordinato ai dati. In che modo quindi il software front-end doveva essere collegato ai database back-end?
Un problema simile si presentava ai fornitori di software indipendenti (ISV). I fornitori che scrivevano software per database per minicomputer e mainframe erano solitamente costretti a scrivere una versione di un'applicazione per ogni DBMS o a scrivere un codice specifico per ogni DBMS a cui volevano accedere. I produttori di software per personal computer dovevano scrivere routine di accesso ai dati per ogni diverso DBMS con cui volevano lavorare. Questo spesso significava che un'enorme quantità di risorse veniva spesa per scrivere e mantenere le routine di accesso ai dati piuttosto che per le applicazioni, e spesso le applicazioni non venivano vendute in base alla loro qualità ma alla possibilità di accedere ai dati di un determinato DBMS.
Entrambi i gruppi di sviluppatori avevano bisogno di un modo per accedere ai dati di diversi DBMS. Il gruppo dei mainframe e dei minicomputer aveva bisogno di un modo per unire i dati di diversi DBMS in un'unica applicazione, mentre il gruppo dei personal computer aveva bisogno di questa capacità e di un modo per scrivere un'unica applicazione indipendente da qualsiasi DBMS. In breve, entrambi i gruppi avevano bisogno di un modo interoperabile per accedere ai dati; avevano bisogno di una ODBC (Open Database Connectivity).