Interfaccia di programmazione standard

L'interfaccia di programmazione è forse il candidato più ovvio per la standardizzazione. Infatti, quando è stato sviluppato ODBC, ANSI e ISO fornivano già degli standard per i moduli SQL e SQL integrati. Sebbene non esistessero standard per una CLI di database, il SQL Access Group (un consorzio industriale di fornitori di database) stava valutando se crearne una; alcune parti di ODBC sono poi diventate la base del loro lavoro.

Uno dei requisiti di ODBC era che un'unica applicazione binaria dovesse funzionare con più DBMS. Per questo motivo ODBC non usa linguaggi SQL o moduli incorporati. Sebbene il linguaggio SQL incorporato e i linguaggi a moduli siano standardizzati, ognuno di essi è legato a precompilatori specifici per i DBMS. Pertanto, le applicazioni devono essere ricompilate per ogni DBMS e i binari risultanti funzionano solo con un singolo DBMS. Se questo è accettabile per le applicazioni a basso volume presenti nel mondo dei minicomputer e dei mainframe, è inaccettabile nel mondo dei personal computer. In primo luogo, è un incubo logistico consegnare ai clienti più versioni di software confezionati in volumi elevati; in secondo luogo, le applicazioni per personal computer spesso devono accedere a più DBMS contemporaneamente.

D'altra parte, un'interfaccia a livello di chiamata può essere implementata attraverso librerie, o driver di database, che risiedono su ogni macchina locale; per ogni DBMS è necessario un driver diverso. Poiché i moderni sistemi operativi possono caricare tali librerie (come le librerie di collegamento dinamico del sistema operativo Microsoft Windows) in fase di esecuzione, una singola applicazione può accedere ai dati di diversi DBMS senza doverli ricompilare e può anche accedere ai dati di più database contemporaneamente. Quando vengono resi disponibili nuovi driver per database, gli utenti possono semplicemente installarli sui loro computer senza dover modificare, ricompilare o ricollegare le loro applicazioni di database. Inoltre, un'interfaccia a livello di chiamata era un buon candidato per ODBC perché Windows, la piattaforma per cui ODBC è stato originariamente sviluppato, faceva già largo uso di tali librerie.