ODBC is een API voor gegevenstoegang waarmee een toepassing kan worden geschreven zonder dat u het databasesysteem hoeft te specificeren of kennen dat het zal gebruiken wanneer het wordt uitgevoerd, met andere woorden, ODBC isoleert de toepassing van de specifieke kenmerken van toegang tot een database.
De releasegeschiedenis van ODBC is:
Versie | Uitgebracht | Beschrijving |
---|---|---|
1.0 | 1993 | De eerste versie van ODBC. Er zijn nog maar een paar ODBC 1.0-applicaties en -stuurprogramma's (op Windows) en we weten niets over Linux. |
2.0 | 1994 | Kleine reorganisatie van de API (bijv. nieuwe SQLBindParameter vervanging van SQLSetParam ) kern, niveau 1 en 2 conformiteitswijzigingen, nieuwe gegevenstypen. Er zijn nog een aantal ODBC 2.0-applicaties en drivers in omloop. Op Linux zijn de meeste ODBC-stuurprogramma's ODBC 3 en de weinige die nog steeds ODBC 2.0 zijn, gaan over het algemeen naar 3. Er was ook een ODBC 2.5. |
3.0 | 1995 | ODBC 3.0 heeft een groot aantal nieuwe API's en ODBC-descriptorhandvatten geïntroduceerd. De meeste ODBC-stuurprogramma's op Linux zijn nu ODBC 3.x en veel toepassingen zijn ook 3.x. |
3,5x | 1997 | Introductie van Unicode. |
3,8x | 2009 | Driver-aware verbindingspooling, waarmee een ODBC-stuurprogramma de kosten van het hergebruiken van een verbinding uit de pool beter kan inschatten op basis van de verbindingsinstellingen van een gebruiker. Asynchrone verbindingsbewerking, waardoor toepassingen meerdere verbindingen in de pool kunnen vullen bij het opstarten, zodat volgende verbindingsverzoeken efficiënter kunnen worden afgehandeld. Stuurprogrammaspecifieke C-gegevenstypen, die handig zijn voor het ondersteunen van nieuwe DBMS-gegevenstypen die bestaande C-typen niet correct vertegenwoordigen. Vóór versie 3.8 moesten ODBC-stuurprogramma's een generiek type gebruiken, zoals SQL_C_BINARY, om met DBMS-specifieke typen te werken, die de toepassing dan zou moeten reconstrueren. Gestreamde uitvoerparameters, waarmee een toepassing SQLGetData meerdere keren met een kleine buffer kan aanroepen om een grote parameterwaarde op te halen, waardoor de geheugenvoetafdruk van de toepassing wordt verkleind. (We bieden een SQL Server-specifiek voorbeeld voor gestreamde uitvoerparameters in onze sectie C-voorbeelden.) |
Microsoft heeft onlangs aangekondigd dat het werkt aan ODBC 4.0, de eerste belangrijke update van de ODBC-specificatie sinds 1997. ODBC 4.0 is bedoeld om tegemoet te komen aan de vereisten van moderne datastores. Bijvoorbeeld gegevens met een hiërarchische structuur of een gegevensbron die webauthenticatie gebruikt om de toegang ertoe te regelen.
De belangrijkste nieuwe functies van ODBC 4.0 zijn:
Functie | Beschrijving |
---|---|
Privé chauffeurs | ODBC-stuurprogramma's die alleen zichtbaar zijn voor een bepaalde toepassing. Privéstuurprogramma's worden niet weergegeven in de systeembrede ODBC-gegevensbronbeheerderstoepassing. |
Taaluitbreidingen door aanvullende SQL Escape-clausules | ODBC-escape-clausules bieden een DBMS-neutrale manier voor toepassingen om constructies te gebruiken die geen deel uitmaken van SQL-92. Bijvoorbeeld outer joins, functie-uitvoering, datetime-letterwoorden enzovoort. ODBC 4.o biedt nieuwe escape-reeksen voor aanvullende SQL-constructies zoals limietclausules en andere uitbreidingen van SQL, zoals het selecteren van ingevoegde, bijgewerkte of verwijderde waarden. |
Semi-gestructureerde gegevens:tabellen waarvan het schema mogelijk niet is gedefinieerd of per rij kan veranderen | Een schema kan worden afgeleid uit een bron zonder schema, zoals een JSON-, XML- of CSV-document, om een standaard relationele weergave van de gegevens weer te geven. |
Hiërarchische gegevens:gegevens met geneste structuur (gestructureerde velden, lijsten) | Toepassingen die ODBC 4.x aanvragen, zien mogelijk een meer getrouwe weergave van hiërarchisch gestructureerde gegevens die rij-, verzamelings- en niet-getypte gegevenswaarden bevatten. |
Webverificatie | De ODBC API SQLDriverConnect is gewijzigd om compatibel te zijn met de vereisten van een webverificatiemechanisme zoals OAuth . Het zal bijvoorbeeld mogelijk zijn om SQLDriverConnect . te gebruiken om in eerste instantie een toegangstoken met een beperkte levensduur te leveren en vervolgens de duur van een sessie te verlengen met een vernieuwingstoken. |