ODBC er en dataadgangs-API, der gør det muligt at skrive en applikation uden at skulle specificere eller kende det databasesystem, den vil bruge, når den køres, med andre ord, ODBC isolerer applikationen fra detaljerne ved at få adgang til en database.
Udgivelseshistorikken for ODBC er:
Version | Udgivet | Beskrivelse |
---|---|---|
1.0 | 1993 | Den første version af ODBC. Kun få ODBC 1.0 applikationer og drivere eksisterer stadig (på Windows), og ingen, vi kender til på Linux. |
2.0 | 1994 | Lille omorganisering af API'et (f.eks. ny SQLBindParameter erstatter SQLSetParam ) kerne, niveau 1 og 2 overensstemmelsesændringer, nye datatyper. Der er stadig en række ODBC 2.0 applikationer og drivere rundt omkring. På Linux er de fleste ODBC-drivere ODBC 3, og de få, der stadig er ODBC 2.0, flytter generelt til 3. Der var også en ODBC 2.5. |
3.0 | 1995 | ODBC 3.0 introducerede et stort antal nye API'er og ODBC-deskriptorhåndtag. De fleste ODBC-drivere på Linux er nu ODBC 3.x, og mange applikationer er også 3.x. |
3,5x | 1997 | Introduktion af Unicode. |
3,8x | 2009 | Driverbevidst forbindelsespooling, som giver en ODBC-driver mulighed for bedre at estimere omkostningerne ved at genbruge en forbindelse fra puljen baseret på en brugers forbindelsesindstillinger. Asynkron forbindelsesdrift, som gør det muligt for applikationer at udfylde flere forbindelser i puljen på opstartstidspunktet, så efterfølgende forbindelsesanmodninger kan betjenes mere effektivt. Driverspecifikke C-datatyper, som er nyttige til at understøtte nye DBMS-datatyper, som eksisterende C-typer ikke repræsenterer korrekt. Før version 3.8 skulle ODBC-drivere bruge en generisk type såsom SQL_C_BINARY til at arbejde med DBMS-specifikke typer, som applikationen derefter skulle rekonstruere. Streamede outputparametre, som gør det muligt for en applikation at kalde SQLGetData med en lille buffer flere gange for at hente en stor parameterværdi, hvilket reducerer applikationens hukommelsesfodaftryk. (Vi giver et SQL Server-specifikt eksempel for streamede outputparametre i vores C-eksempler-sektion.) |
Microsoft annoncerede for nylig, at de arbejdede på ODBC 4.0, den første væsentlige opdatering til ODBC-specifikationen siden 1997. ODBC 4.0 sigter mod at imødekomme kravene til moderne datalagre. For eksempel data med en hierarkisk struktur eller en datakilde, der bruger web-godkendelse til at kontrollere adgangen til dem.
De vigtigste nye funktioner, som ODBC 4.0 indeholder, er:
Funktion | Beskrivelse |
---|---|
Private drivere | ODBC-drivere, der kun er synlige for en bestemt applikation. Private drivere afsløres ikke i den systemdækkende ODBC-datakildeadministratorapplikation. |
Sprogudvidelser gennem yderligere SQL Escape-klausuler | ODBC escape-sætninger giver en DBMS-neutral måde for applikationer at bruge konstruktioner, der ikke er en del af SQL-92. For eksempel outer joins, funktionsudførelse, datetime literals og så videre. ODBC 4.o leverer nye escape-sekvenser til at dække yderligere SQL-konstruktioner såsom limit-klausuler samt andre udvidelser til SQL såsom valg af indsatte, opdaterede eller slettede værdier. |
Halvstrukturerede data:Tabeller, hvis skema muligvis ikke er defineret eller kan ændres på række-for-række-basis | Et skema kan udledes fra en skemaløs kilde, såsom et JSON-, XML- eller CSV-dokument, for at afsløre en standard relationel visning af dataene. |
Hierarkiske data:Data med indlejret struktur (strukturerede felter, lister) | Applikationer, der anmoder om ODBC 4.x, kan se en mere troværdig repræsentation af hierarkisk strukturerede data, der indeholder række-, samlings- og ikke-typedataværdier. |
Webgodkendelse | ODBC API SQLDriverConnect er blevet ændret til at være kompatibel med kravene til en webgodkendelsesmekanisme såsom OAuth . For eksempel vil det være muligt at bruge SQLDriverConnect for i første omgang at levere et adgangstoken med en begrænset levetid og derefter forlænge varigheden af en session med et opdateringstoken. |