ODBC è un'API di accesso ai dati che consente di scrivere un'applicazione senza dover specificare o conoscere il sistema di database che utilizzerà durante l'esecuzione, in altre parole, ODBC isola l'applicazione dalle specifiche dell'accesso a un database.
La cronologia delle versioni di ODBC è:
Versione | Rilasciato | Descrizione |
---|---|---|
1.0 | 1993 | La prima versione di ODBC. Esistono ancora solo poche applicazioni e driver ODBC 1.0 (su Windows) e nessuno che conosciamo su Linux. |
2.0 | 1994 | Piccola riorganizzazione dell'API (es. nuovo SQLBindParameter sostituendo SQLSetParam ) core, modifiche di conformità di livello 1 e 2, nuovi tipi di dati. Esistono ancora numerose applicazioni e driver ODBC 2.0 in giro. Su Linux, la maggior parte dei driver ODBC sono ODBC 3 e i pochi che sono ancora ODBC 2.0 generalmente passano a 3. C'era anche un ODBC 2.5. |
3.0 | 1995 | ODBC 3.0 ha introdotto un gran numero di nuove API e handle di descrittori ODBC. La maggior parte dei driver ODBC su Linux ora sono ODBC 3.x e anche molte applicazioni sono 3.x. |
3,5 volte | 1997 | Introduzione di Unicode. |
3,8x | 2009 | Pool di connessioni consapevoli del driver, che consente a un driver ODBC di stimare meglio il costo del riutilizzo di una connessione dal pool in base alle impostazioni di connessione di un utente. Operazione di connessione asincrona, che consente alle applicazioni di popolare più connessioni nel pool all'avvio in modo che le richieste di connessione successive possano essere servite in modo più efficiente. Tipi di dati C specifici del driver, utili per supportare nuovi tipi di dati DBMS che i tipi C esistenti non rappresentano correttamente. Prima della versione 3.8, i driver ODBC dovevano utilizzare un tipo generico come SQL_C_BINARY per lavorare con tipi specifici di DBMS, che l'applicazione doveva poi ricostruire. Parametri di output in streaming, che consentono a un'applicazione di chiamare SQLGetData con un buffer piccolo più volte per recuperare un valore di parametro di grandi dimensioni, riducendo il footprint di memoria dell'applicazione. (Forniamo un esempio specifico di SQL Server per i parametri di output in streaming nella nostra sezione degli esempi C.) |
Microsoft ha recentemente annunciato che stava lavorando su ODBC 4.0, il primo aggiornamento significativo della specifica ODBC dal 1997. ODBC 4.0 mira a soddisfare i requisiti dei moderni archivi di dati. Ad esempio, dati con una struttura gerarchica o un'origine dati che utilizza l'autenticazione Web per controllarne l'accesso.
Le principali novità che include ODBC 4.0 sono:
Funzionalità | Descrizione |
---|---|
Autisti privati | Driver ODBC visibili solo a una particolare applicazione. I driver privati non sono esposti nell'applicazione dell'amministratore dell'origine dati ODBC a livello di sistema. |
Estensioni del linguaggio tramite clausole di escape SQL aggiuntive | Le clausole di escape ODBC forniscono un modo indipendente dal DBMS per le applicazioni di utilizzare costrutti che non fanno parte di SQL-92. Ad esempio, outer join, esecuzione di funzioni, valori letterali datetime e così via. ODBC 4.o fornisce nuove sequenze di escape per coprire costrutti SQL aggiuntivi come clausole limite e altre estensioni SQL come la selezione di valori inseriti, aggiornati o eliminati. |
Dati semistrutturati:tabelle il cui schema potrebbe non essere definito o potrebbe cambiare riga per riga | Uno schema può essere dedotto da un'origine senza schema come un documento JSON, XML o CSV, per esporre una vista relazionale standard dei dati. |
Dati gerarchici:dati con struttura nidificata (campi strutturati, elenchi) | Le applicazioni che richiedono ODBC 4.x possono visualizzare una rappresentazione più fedele dei dati strutturati gerarchicamente contenenti valori di riga, raccolta e dati non tipizzati. |
Autenticazione Web | L'API ODBC SQLDriverConnect è stato modificato per essere compatibile con i requisiti di un meccanismo di autenticazione web come OAuth . Ad esempio, sarà possibile utilizzare SQLDriverConnect fornire inizialmente un token di accesso con una durata limitata e quindi estendere la durata di una sessione con un token di aggiornamento. |